<el-select v-model="form.roleId" placeholder="請選擇角色" >
<el-option
v-for="item in roles"
v-bind:label="item.NameZhtw"
v-bind:value="item.Id">
</el-option>
</el-select>
如果 roles的格式如下:[ { Id : 1, NameZhtw : "name1" } , { Id : 2, NameZhtw : "name2" } ] 这样就不能正常的验证,
必须是[ { Id : “1”, NameZhtw : "name1" } , { Id : “2”, NameZhtw : "name2" } ] ,Id的值必须是字符串才可以正常验证
如果是是第一种情况,可以在控制台报个错也行,找问题找了好久。。。
还有那个单选按钮的值,直接用true或者false都不能绑定值,必须要转换成字符串才能正常绑定值,但是控制台也没有提醒
rules 的type默认是字符型,
另外验证的提示, 只是不要用了产品模式, 控制台都会抛出
async-validator: ["tradeNum is required"]
async-validator: ["amount is required"]
类似上面的错误
保证form.roleId的类型和item.Id的类型一致, 不要一边是数值型, 一边字符型
form.roleId = 1 这样默认为数值型1, 验证还是有问题
你的validator的rules规则怎么写的.?
@lincenying 谢谢你
html里这样调的:
<el-form ref="form" :rules="rules" :model="form">
data里这样写的:
rules: {
roleId: [{ required: true, message: '請選擇角色', trigger: 'change' }]
},
http://jsfiddle.net/tLbsztmn/2/
看这个链接,点击下拉选择项时,下拉框下方会显示出错误提示,帮我看看是不是我代码写的有问题,谢谢你
@maxwellwei1 因为你的Id是 Number 类型,默认验证的type为string。所以验证规则需要加上 type: 'number'。
rules: {
roleId: [{ required: true, message: '請選擇角色', trigger: 'change', type: 'number' }]
},
还是因为你的 Id 是数字类型的,而校验规则的 type 字段默认是 string。手动把 type 改成 number 就好:http://jsfiddle.net/tLbsztmn/3/
醉了,我在子组件里也出来一样问题,加上type='number'也不行
@VaJoy 请问这个问题最后怎么解决的? 我也遇到了 T_T
Most helpful comment
还是因为你的
Id是数字类型的,而校验规则的type字段默认是string。手动把type改成number就好:http://jsfiddle.net/tLbsztmn/3/