请告诉我如何在需要和无效上显示不同的消息?换句话说。使用插件从json制作一个表单。在那里有一些必需的参数。有些我需要验证示例“Email”。当用户按“提交”按钮,如果用户没有填写该字段,则显示“此字段为必填项”。如果用户填写的值不是相同的值,则表示“无效值”。我们会根据不同的情况显示不同的消息。 / p>
我用过这个插件 https://github.com/Textalk/angular-schema-form/blob/master/docs/index.md#validation-messages 我做了这个傻瓜 http://plnkr.co/edit/ZNJO3x3IqajjdMNStJMF?p=preview
angular.module('test',['schemaForm']).controller('FormController', function($scope,$http){
$scope.schema = {
type: "object",
properties: {
name: { type: "string", minLength: 2, title: "Name", description: "Name or alias" ,required:true,"default": "dddd"},
"student": { type: "string", title: "studentname", description: "Name or student" ,required:false},
"email": {
"title": "Email",
"type": "string",
"pattern":"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",
"description": "Email will be used for evil.",
required:true
},
title: {
type: "string",
required:true,
enum: ['dr','jr','sir','mrs','mr','NaN','dj'],
}
}
};
$scope.form = [
"*",
{
type: "submit",
title: "Save"
}
];
答案 0 :(得分:0)
您可以阅读official angular-schema-form documentation
默认情况下,所有错误消息都来自架构验证器tv4 ,这可能适用于您,也可能不适用。如果在表单定义中提供validationMessage属性,并且其值是一个字符串,将用于替代任何验证错误。
如果您需要更细粒度的控制,您可以使用与tv4的错误代码匹配的键来提供对象。请参阅tv4.errorCodes
实施例
{ key: "address.street", validationMessage: { tv4.errorCodes.STRING_LENGTH_SHORT: "Address is too short, man.", "default": "Just write a proper address, will you?" //Special catch all error message } }
您还可以在formDefaults中设置全局validationMessage,请参阅全局选项。
因此,有关更多错误消息,请访问此link
答案 1 :(得分:0)
以下是一篇很棒的博客文章,可以回答您的问题:http://www.thebhwgroup.com/blog/2014/08/designing-html-forms-angularjs-part-1/
特别是,请查看第3部分“验证消息和样式”。
来自文章,
<span class="validation-message" ng-show="contactForm.firstName.$error.maxlength">Max length 20</span>
ng-form的名称为contactForm
,有问题的元素名为firstName
。这会将表单放在作用域上,然后您可以遍历该表单以获取错误,并专门针对每个错误显示错误消息。