angularjs required结合ng-message默认就会显示自定义的错误

<span class="fl">
                       <input type="text" style="width:340px;" class="f_input" name="t_store" value="" required ng-model="t_store" store-info-verify>
                    </span>
                    <span class="error" ng-messages="myForm.t_store.$error" ng-message-multiple>
                    <span ng-message="required"><b></b>请填写名称</span>
                    <span ng-message="checkLength"><b></b>不能大于10个字符</span>
                    </span>

现在的问题是只要打开页面就会提示请填写名称,而不是失去焦点后提示.
不知道该如何隐藏,我试着在错误标签span上加入ng-show="myForm.t_store.$error.required"不起作用,我现在想开始不显示错误,在它实际交互后再判断.

阅读 6.8k
4 个回答

可以在controller中进行逻辑控制,不用自带的指令。在文本框上用ng-blur方法,当失去焦点的时候进行判断是否已填。

ng-if=‘formname.username.$invalid&&formname.username.$touched’

ng-show="myForm.t_store.$dirty&&myForm.t_store.$invalid"

<span class="error" ng-messages="myForm.t_store.$error" ng-if="myForm.t_store.$touched" ng-message-multiple>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题