2016-04-21 2 views
1

Я не уверен disable-validation-message делает то, что хочу, но я нашел, что он достаточно близко.Замена для сообщения-подтверждения-отклонения в Angular2

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

<input type="text" ngControl="foo" maxlength="500" /> 
+0

Вы имеете в виду, что классы 'ng-xxx' не должны добавляться к элементам? В чем проблема с ними? –

+0

классы 'ng-xxx' нацелены на css, я просто не хочу сообщений об ошибках в' control.errors' –

ответ

1

Update

const DUMMY_MAX_LENGTH_VALIDATOR = CONST_EXPR(
new Provider(NG_VALIDATORS, {useExisting: forwardRef(() => DummyMaxLengthValidatorr), multi: true})); 

@Directive({ 
    selector: '[maxlength][ngControl],[maxlength][ngFormControl],[maxlength][ngModel]', 
}) 
export class DummyMaxLengthValidator { 
    validate(control) {} 
} 

чем в компоненте добавить

@Component({ 
    ... 
    providers: [DUMMY_MAX_LENGTH_VALIDATOR] 
}) 

оригинальный

Это может работать б у, вероятно, в конечном итоге сломать

<input type="text" ngControl="foo" [attr.maxlength]="'500'" /> 

AFAIK в настоящее время maxlength считывается constructor(@Attribute('maxlength') ...), который пропускает только статические значения. Сделать его привязанным к нему значение может обойтись. Кроме того, валидаторы применяются для селектора [ngControl][maxlength].

+0

Я получаю это 'Can not bind to 'maxlength', так как он не является известным родным свойством' –

+0

Правильно, должно быть '[attr.maxlength]' –

+1

это работает, ** оригинал ** достаточно. Спасибо, что помог мне сменить угловой селектор. ;) –

Смежные вопросы