“必需”验证在<select>中无法使用默认值

时间:2016-11-24 16:11:57

标签: angularjs angularjs-validation

我有一个必需的&lt; select&gt;领域: &lt; select name =“service_id”class =“Sitedropdown”style =“width:220px;”         NG-模型= “服务ID”         ng-options =“service.ServiceID as service.ServiceName for services in services”         所需&GT;   &lt; option value =“”&gt;选择服务&lt; /选项&gt; &LT; /选择&GT; 当它为空时,表单应显示“选择服务”错误消息。这是一个工作的plunker。 当您有意选择空选项时,它可以正常工作。但是当您重新加载页面时,默认情况下service_id为空,并且没有验证。如何让AngularJS验证默认值?

2 个答案:

答案 0 :(得分:2)

您的代码:

ng-show="myForm.service_id.$dirty && myForm.service_id.$invalid&#34;

这意味着 - 如果值为脏(已更改)且无效。首先删除,然后你就会得到你想要的东西。

答案 1 :(得分:1)

验证检查仅在绑定到ng-model的值至少更改一次后运行,,当用户尝试提交表单时。如果不是这种情况,表单的所有必填字段将在页面加载后立即显示错误,这将是一个非常不合适的行为。

这就是为什么你在选择其他东西时只看到错误,然后再将其改回空值。