在回复后重新验证表单

时间:2015-03-14 00:00:31

标签: javascript angularjs forms

设置如下。

  1. 填写所有字段,表格有效。
  2. 执行提交,但是有一个服务器端检查 提供数据,并返回“error,duplicate found”。
  3. 现在显示隐藏的(此处使用的是ng-hide)输入字段 字段设置为必需。
  4. 现在出现问题。即使表单无效,仍会启用提交按钮!
  5. 问题是,如何在显示序列号字段后重新验证/更新表单的验证状态? 我没有运气就尝试了以下内容;

    if (status == 413) {
        $scope.hide_serial_number = false;
        if ($scope.hide_serial_number == false) {
           document.getElementById("serial_no").required = true;
           $scope.myForm.serial_no.$invalid();
        };
    };
    

    状态代码413 =在DB中找到重复。

    我的提交按钮;

    <div class="form-actions">
        <button type="submit" ng-disabled="myForm.$invalid" class="btn btn-primary btn-block btn-success btn-lg">Submit</button>
    </div>
    

    请不要jQuery回答,我正在做所有普通的javascript - 提前谢谢!

1 个答案:

答案 0 :(得分:0)

最后它正在工作!

好的,关于我在问题中解释的错误承诺,我做了以下内容;

if (status == 413) {
     $scope.myForm.$invalid = true;
     document.getElementById("serial_no").required = true;
     $scope.hide_serial_number = false;
};

这使得提交按钮被禁用,并在启用之前等待输入序列号。