【问题标题】:How to reset the form validations of angularjs after closing the bootstrap modal [duplicate]关闭引导模式后如何重置angularjs的表单验证[重复]
【发布时间】:2016-11-25 20:23:47
【问题描述】:

在这里,我为引导模型中的表单应用了 angularjs 表单验证。但问题是,即使关闭模型,错误消息和文本字段中的 dat 仍然保持不变`

<div class="modal fade loginpopup index" id="login-modal"   tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
         <div class="modal-dialog login-form animated">
             <div class="modal-content">
                  <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">×</button>
                 </div>
                 <div class="modal-body">
                      <form  name="loginform">
                          <div id="my-tab-content" class="tab-content">
                                <div class="tab-pane active" id="login" name="login">
                                    <div class="form-group" >
                                         <input type="email" id="userName" name="userName" class="form-control" ng-model="email" placeholder="UserName" required >
                                         <span class="has-error" ng-show="loginform.userName.$touched && loginform.userName.$invalid" class="font-ten">
                                                <span class="has-error"   ng-show="loginform.userName.$error.email" class="font-ten">Invalid  email address.</span>
                                                <span class="has-error" ng-show="loginform.userName.$error.required" class="font-ten">UserName is required..</span>


                                            </span>
                                    </div>
                                    <div class="form-group">
                                        <input type="password" id="psd" name="psd" class="form-control" placeholder="Password"   required >
                                    </div>
                                    <div class="form-group text-center" >
                                            <button class="btn btn3d text-center imm" type="submit" > Log In     </button>
                                    </div>
                                    <div class="form-group login-index" style="margin-bottom:0px;padding-top:0px !important">
                                            <input type="checkbox" name="checkbox" id="Option">
                                            <label class="Option" for="Option"> Rememer Me </label>
                                            <a href="/#forgetpassword" data-toggle="tab"  id="forgotpsw">Forgot Password?</a>
                                        </div>
                                </div>

                                <div class="tab-pane" id="forgetpassword">
                                    <div class="form-group " >
                                        <input type="email" id = "emailId" name="emailId" required class="form-control"  placeholder="Email Address" >
                                    </div>
                                    <div class="form-actions text-center">
                                        <button type="button" class="btn btn3d imm"  >Submit </button>
                                    </div>


                             </div>
                           </div>
                      </form>
                 </div>
             </div>
        </div>
     </div>

【问题讨论】:

  • 清空模型并使用 setPristine() 方法将表单设置为原始状态。
  • 你能详细说明一下代码吗
  • 你为什么不使用 ng-model 来存储输入值?
  • 对不起,我正在使用 ng-model 但我忘记发布它,请检查一次

标签: javascript jquery html angularjs twitter-bootstrap


【解决方案1】:

在关闭引导模式时,请执行以下操作:

loginform.setPristine();

这会将表单设置为原始状态,即它将清除应用于表单的所有验证并使其保持原样。但是在执行此操作之前,您必须单独清除输入值。

【讨论】:

  • 它不工作
  • 它应该可以工作。您如何在控制器中获取“loginForm”?
  • $scope.reset = function() { loginform.setPristine(); } 我在控制器中写了类似的 dis
  • 它不会那样工作的。您是否在控制器中定义了“loginForm”?如果没有,请在关闭模式时调用它时在 reset() 函数中传递 loginForm。请尝试创建一个 jsfiddle 并分享该链接。
  • 发布您的控制器代码,或者最好用您的代码创建一个小提琴,我会在那里进行更改。
猜你喜欢
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 2019-08-14
  • 2012-03-31
相关资源
最近更新 更多