#angular #angular-reactive-forms
#angular #angular-reactive-forms
Вопрос:
Я ищу решение для поддержки минимального значения для французских номеров.
У меня есть элемент управления формой, в который я добавил функцию Validators.min для элемента управления формой, но когда я начинаю обрабатывать французские номера, функция min не работает.
Ниже приведен пример.
value: [
{ value: null},
[Validators.required, Validators.min(0.01)],
],
Комментарии:
1. С какими числами вы работаете еще, кроме французского? Возможно, десятичный разделитель является issue…do у вас есть какая-либо логика округления, которая может манипулировать значением в фоновом режиме…
Ответ №1:
Встроенные угловые валидаторы не учитывают языковой стандарт пользователя / приложения:
https://github.com/angular/angular/issues/24099
Итак, вы можете написать свой собственный валидатор или выбрать тот, который уже есть.
Эта статья https://dev.to/ajayojha/decimal-number-validation-and-apply-the-currency-format-in-angular-3dbe объясняет, как вы можете использовать @rxweb/reactive-form-validators
для проверки, находится ли число в правильном числовом формате, при условии, что вы правильно установили языковой стандарт вашего приложения на французский.
Вы можете попытаться проверить, выполняет ли minNumber
валидатор из того же пакета эту работу: https://docs.rxweb.io/form-validations/minNumber/validators
https://www.npmjs.com/package/@rxweb/reactive-form-validators#minnumber