我正在评估角度,阅读文档 并试图了解在哪里插入来自后端的错误消息(在下面的示例中 - 名称字段上的 userNameAlreadyTaken ),来自文档的示例,我试图猜测将东西放在哪里:
<script>
$( document ).ready(function() {
angular.module('myModule', ['schemaForm']);
angular.module('myModule', ['schemaForm'])
.controller('FormController', function($scope) {
$scope.schema = {
type: "object",
properties: {
name: { type: "string", minLength: 2,
title: "Name", description: "Name or alias"
},
title: {
type: "string",
enum: ['dr','jr','sir','mrs','mr','NaN','dj']
}
}
};
$scope.form = [
{
"key": "name",
"validationMessages": {
"userNameAlreadyTaken"
}
},
{ type: "submit", style: 'btn-success', title: "Save"}
];
$scope.model = {};
$scope.$broadcast('schemaForm.error.name','tv4-302',false);
});
angular.bootstrap(document, ['myModule']);
});
</script>
<div ng-controller="FormController">
<form sf-schema="schema" sf-form="form" sf-model="model" action="action_url" ></form>
</div>
上面的代码呈现了表单,但没有错误消息。我希望页面加载后,“名称”字段为“红色”,因为它应该包含错误。angular-schema-form 的文档假设人们对 angular 的工作原理有直觉,因此代码片段与它们在代码中的位置无关。还有一些错别字,比如没有美元的范围和
"validationMessages": { "userNameAlreadyTaken" }
我不确定,应该有一个清单还是什么?列表不起作用。事件广播也不起作用。根据文档,尝试了 custom 和 tv-4。
我什至不确定我是从正确的地方呼叫广播。如果我需要从其他地方调用它,如何访问正确的 $scope。