vue項目是基於element框架作的,在作form表單時,要作些驗證,element框架也提供了自定義驗證vue
下面是一些常見的驗證數組
能夠直接用框架的rule去驗證,但必須在model後加上number框架
<el-form-item label="姓名:"> <el-input v-model.number="num"></el-input> </el-form-item> num: [ {required: true, message: '請輸入數量'}, {type: 'number', message: '數量必須爲數字值'} ],
<el-input v-model="items.volume" oninput="value=value.replace(/[^\d.]/g,'')"></el-input>
<el-input v-model="form.trailer.so_no" oninput="value=value.replace(/[\u4e00-\u9fa5]/g, '')"></el-input>
補充:ui
因爲使用了<el-form>組件,添加了rules驗證規則,致使與oninput事件的驗證規則發生了衝突,因此修改以下this
<el-input v-model="form.trailer.so_no" oninput="value=value.replace(/[\u4e00-\u9fa5]/g, '')" @change="deal(index,indexs,$event,'volume')"></el-input>
deal(index,indexs,value,prop){ this.form.sark_type[index].child[indexs][prop]=value },
對當前屬性從新賦值,也能夠把oninput事件的驗證移到change事件,不過這樣驗證只能在失焦的時候觸發spa
ps:因爲屬性層級較多,包含了多層數組,經過element自定義驗證去作,要逐層拆屬性,着實有點麻煩。code