角度形式触发远程错误

时间:2015-06-17 13:49:47

标签: angularjs angular-formly

如何触发提交错误?假设我们得到的表格包括姓名,电子邮件,密码。我们检查服务器端的电子邮件uniqness,服务器发送{{:'已经采取','另一个错误'如何点击表格并触发那些字段?

2 个答案:

答案 0 :(得分:1)

听起来我想要对输入字段进行异步验证。我假设你想制作类似this的东西。

有关具体解决方案,请参阅此Blog

答案 1 :(得分:0)

我明白了 - 没有意识到形态......

您可以在thre formly asyncValidator中调用您的validaton服务,然后解析结果并使用scope.fc.$setValidity在字段上手动设置验证状态。消息可以在validation部分注册。

    validators: {
      asyncMultiValidator: {
        expression: function(viewValue, modelValue, scope) {
          $http.get('...validation-url...').success(function(result) {
            //assuming the service returns a map of validation results as {'validationName': isValid (boolean) }
            angular.foreach(result, function(isValid, validationName) {
              scope.fc.$setValidity(validationName, isValid);
            });
          })

          // this dummy validator is always valid
          return true;
        },
        message: 'dummy message - not being used'
      }
    },
    validation: {
      messages: {
        required: function(viewValue, modelValue, scope) {
          return scope.to.label + ' is required'
        },
        remote: function(viewValue, modelValue, scope) {
          return 'some remote error';
        }
      }