Как обрабатывать проверку минимального номера для французских номеров в реактивной форме?

#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