问题是由于tv4.errorCodes.STRING_LENGTH_SHORT
某种原因,您的代码中不存在该常量。您始终可以使用原始值或使用它们制作角度常数并像这样使用它:
"email": {
"title": "Email",
"type": "string",
"minLength": 2,
"pattern": "^\\S+@\\S+$",
validationMessage: {
200: "Address is too short, man.",
"default": "Just write a proper address, will you?" //Special catch all error message
},
"description": "Email will be used for evil.",
required: true
},
我刚刚添加了 minLength 要求,因此它实际上可以得到验证。
可以查看官方包上的错误码值:https ://github.com/geraintluff/tv4/blob/master/tv4.js
或者简单地参考这些:
var ErrorCodes = {
INVALID_TYPE: 0,
ENUM_MISMATCH: 1,
ANY_OF_MISSING: 10,
ONE_OF_MISSING: 11,
ONE_OF_MULTIPLE: 12,
NOT_PASSED: 13,
// Numeric errors
NUMBER_MULTIPLE_OF: 100,
NUMBER_MINIMUM: 101,
NUMBER_MINIMUM_EXCLUSIVE: 102,
NUMBER_MAXIMUM: 103,
NUMBER_MAXIMUM_EXCLUSIVE: 104,
// String errors
STRING_LENGTH_SHORT: 200,
STRING_LENGTH_LONG: 201,
STRING_PATTERN: 202,
// Object errors
OBJECT_PROPERTIES_MINIMUM: 300,
OBJECT_PROPERTIES_MAXIMUM: 301,
OBJECT_REQUIRED: 302,
OBJECT_ADDITIONAL_PROPERTIES: 303,
OBJECT_DEPENDENCY_KEY: 304,
// Array errors
ARRAY_LENGTH_SHORT: 400,
ARRAY_LENGTH_LONG: 401,
ARRAY_UNIQUE: 402,
ARRAY_ADDITIONAL_ITEMS: 403,
// Custom/user-defined errors
FORMAT_CUSTOM: 500,
KEYWORD_CUSTOM: 501,
// Schema structure
CIRCULAR_REFERENCE: 600,
// Non-standard validation options
UNKNOWN_PROPERTY: 1000
};
请注意,该STRING_LENGTH_SHORT
值为 200。
这是一个工作 plunkr:http ://plnkr.co/edit/4EwGzl1LlseNYOX802S1?p=preview
如果您想了解有关角度常数/值的更多信息,请查看: http: //lostechies.com/gabrielschenker/2014/01/14/angularjspart-9-values-and-constants/
将这些值放在一个常数上,以便它们可以轻松重用,这对您来说是一个很好的练习。
希望有帮助