Angularjs 使用select并添加$options.placeholder和id进行自定义验证时,是否存在常见错误,$invalid始终为真?
这是我的HTML的一个示例文件:Angularjs 使用select并添加$options.placeholder和id进行自定义验证时,是否存在常见错误,$invalid始终为真?,angularjs,validation,Angularjs,Validation,这是我的HTML的一个示例文件: <form name="form" ng-submit="submit()" novalidate> <label> Gender</label> <select name="gender" ng-model="gender" placeholder="Date of Birth - Gender" ng-required="true"> <option v
<form name="form" ng-submit="submit()" novalidate>
<label> Gender</label>
<select name="gender" ng-model="gender" placeholder="Date of Birth - Gender" ng-required="true">
<option value disabled></option>
<option>Male</option>
<option>Female</option>
</select>
<p ng-show="form.gender.required">required</p>
<input type="text" ng-model="name" ng-required="true" placeholder="name">
<p ng-show="form.name.required">required!</p>
</form>
这类似于为元素添加ng模型选项,但我是以另一种方式()完成的
所以我从select中选择了一个项目,错误消息仍然显示。
我在输入文本中键入了任何内容,错误消息消失了
任何人都知道使用$options选择问题的原因,我创建了一个新的属性对象来存储elementID和占位符,而不是将其放入$options中
正如charlietfl所说,它打破了使用ng模型的黄金法则,ng模型消除了一个错误我创建了一个新的属性对象来存储elementID和占位符,而不是放入$options
正如charlietfl所说,它打破了使用ng模型的黄金法则,这会导致错误您打破了始终在
ng模型中使用对象的黄金法则
。原语没有继承性,一旦有了子作用域,双向绑定就会被破坏。至于错误,我建议你发布你的指令代码是的,我明白你的意思,似乎在$options中添加一些东西打破了select菜单的黄金法则,没有办法复制你的问题,任何人都没有办法帮助你。我目前正在使用它作为指令之一。这也将添加到select和input元素中。您打破了始终在ng model
中使用对象的黄金法则。原语没有继承性,一旦有了子作用域,双向绑定就会被破坏。至于错误,我建议你发布你的指令代码是的,我明白你的意思,似乎在$options中添加一些东西打破了select菜单的黄金法则,没有办法复制你的问题,任何人都没有办法帮助你。我目前正在使用它作为指令之一。这也将添加到select和input元素中。
Gender:
$option: {
placeholder: Date of Birth - Gender,
element_id: RW2D_d2d2asd
},
$valid: false,
$invalid: true,
$dirty: false
name:
$option: {
placeholder: name,
element_id: ODveD_asd83d
},
$valid: true,
$invalid: false,
$dirty: true