php - AngularJS 表单验证 - 跳过预填充的输入字段

标签 php jquery angularjs forms validation

我有一个带有一个输入字段的页面,它接受输入并将其预先填充到引导模式中的表单中。

<script>
$(function(){
    $('#exampleModal').on('show.bs.modal', function (event) {
        var button = $(event.relatedTarget);
        var modal = $(this);
        var recipient = document.getElementById("inputName").value;
        modal.find('.companypostcode input').val(recipient);
    });
});
</script>

使用本教程中所示的相同方式验证表单: https://scotch.io/tutorials/submitting-ajax-forms-the-angularjs-way

但是,一旦填写了表单的其余部分并单击了“提交”,验证会将邮政编码字段标记为未填写。

我可以单击该字段并输入一个空格,它会正常工作,但我不必这样做。

处理 PHP 检查空输入,如下所示:

if (empty($_POST['name']))
  $errors['name'] = 'Name is required.';

if (empty($_POST['CompanyName']))
  $errors['CompanyName'] = 'Company name is required.';

if (empty($_POST['PostCode']))
  $errors['PostCode'] = 'Company postcode is required.';

if (empty($_POST['EmailAddress']))
  $errors['EmailAddress'] = 'Email address is required.';

if (empty($_POST['TelephoneNumber']))
  $errors['TelephoneNumber'] = 'Telephone number is required.';

任何帮助将不胜感激。

最佳答案

如果 Bootstrap 模式中的表单使用 AngularJs 进行验证,那么您必须通知 AngularJs 模型已更改。否则,您只更新了输入字段中的值,而没有更新底层模型中的值。

但没有实际代码可供查看,这只是提问

您很可能需要调用$scope.$apply()

像这样

      <script>
      $(function(){
          $('#exampleModal').on('show.bs.modal', function (event) {
              var button = $(event.relatedTarget);
              var modal = $(this);
              var recipient = document.getElementById("inputName").value;
              modal.find('.companypostcode input').val(recipient);

              //TODO: Notify angularJs about changed value
              $scope.$apply();
          });
      });
      </script>

关于php - AngularJS 表单验证 - 跳过预填充的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31429815/

相关文章:

javascript - jQuery 没有警报数组数据

php - 在 PHP 中处理 JSON API 响应以将数据存储为变量

php - 具有文件系统功能的测试对象

PHP/JS : Dynamic Dropboxes and echoing SELECTED value

javascript - 如何使用 ionic 和 Angular 在模式内显示选定的图像名称?

javascript - 在php中提交html表单

javascript - 使通过 DFP 提供的广告完全响应

javascript - 如何对滚动 Accordion div 进行操作

javascript - 如何在名为 parseFloat 的 Angular 工厂函数内访问 parseFloat?

javascript - 如何在 Angularjs 中将文件 json 导出为 CSV 或 XLSX 格式