如何始终验证 angular json 模式表单?

How to always validate an angular json schema form?

我在使用 angular-schema-form 和 运行 时遇到一个问题,当我使用 REST 从服务器加载模式和表单时,验证有时不会启动。我可以 post 一个架构,尽管某些字段是必需的。

我如何始终确保用户在 post 之前必须填写表单中的必填字段?

我发现在提交表单之前使用 $scope.$broadcast('schemaFormValidate'); 有效 (from the docs)。

$scope.onSubmit = function(form) {
    // First we broadcast an event so all fields validate themselves
    $scope.$broadcast('schemaFormValidate');

    // Then we check if the form is valid
    if (form.$valid) {
      // ... do whatever you need to do with your data.
    }
  }

但是,我们不能事先禁用任何按钮。

@John 您可以在您的模型中设置一个值,该值是显示条件的一部分。这允许您在提交时隐藏按钮,然后在您准备好让用户出于任何原因再次提交表单时重新启用它们。