Как убрать эту неожиданную ошибку токена в угловых js?

Я пытаюсь отобразить другое сообщение в форме. Я создаю форму из json при изучении этой документации https://github.com/Textalk/angular-schema-form/blob/master/docs/index.md#validation-messages

Плункер http://plnkr.co/edit/ZNJO3x3IqajjdMNStJMF?p=preview

когда я пишу это так, как указано в документе, я не могу просмотреть страницу, а также получить ошибку?

 validationMessage: {
    tv4.errorCodes.STRING_LENGTH_SHORT: "Address is too short, man.",
    "default": "Just write a proper address, will you?"   //Special catch all error message
  },

Мне нужно отобразить разные сообщения, когда пользователь подтвердит правильность?

1 ответ

Проблема в том, что постоянная 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

Вот рабочий планер: http://plnkr.co/edit/4EwGzl1LlseNYOX802S1?p=preview

Если вы хотите узнать больше об угловых константах / значениях, проверьте это: http://lostechies.com/gabrielschenker/2014/01/14/angularjspart-9-values-and-constants/

Помещение этих значений в константу, чтобы их можно было легко использовать повторно, станет для вас хорошим упражнением.

надеюсь, это поможет

Другие вопросы по тегам