Intereting Posts
Повторно ввести $ HTTP_POST_VARS в PHP 5.3 Ошибка при попытке использовать гибридный поток входа в Google OAuth 2.0 (Google_IO_Exception) с сообщением «Ошибка HTTP: невозможно подключиться:« 0 ») PHP: управление доменом / субдоменом файлов cookie Различные результаты для модификатора unicode / multibyte и mb_ereg_replace Не удается заставить PHPunit работать Как я могу запустить сценарий, когда субдомен достигнет определенного уровня пропускной способности? пытаясь поместить данные api в базу данных с помощью php? Как я могу использовать PHP для динамического опубликования файла iical для чтения в Календаре Google? PHP-метод синтаксического анализа HTML-строки Можно ли проверить, разрешено ли cookies в php без перезагрузки страницы? как реализовать ws-security 1.1 в php5 Неизвестная ошибка модификатора 'g' PHP regex Ошибка дескриптора файловой системы PHP Отображение сообщений «Подписчика» и личных сообщений пользователя Назначить несколько ключей одному значению в массиве

Проверка и преобразование десятичных значений в CakePHP

Я разрабатываю приложение с CakePHP, которое обрабатывает денежные значения. Клиент хочет, чтобы номера имели собственный формат, например, 1.275,34 , то есть точку в качестве разделителя в целочисленной части и запятую в качестве разделителя десятичной части.

Мне интересно, какой лучший подход к управлению этим, поскольку мне нужно сделать две основные вещи:

  1. Проверяйте значения, записанные в формах в соответствии с этим настраиваемым форматом.
  2. Преобразуйте эти значения в соответствии с форматом, ожидаемым типом данных столбцов MySQL ( decimal(18,2) в этом случае, 1275.34 в приведенном выше примере).

Я думаю, что у меня есть эти варианты, но я не совсем доволен тем, что некоторые модели работают с этим пользовательским форматом, и это означает, что вы копируете некоторый код:

  • Подтвердите и преобразуйте значение в контроллер перед вызовом $this->Model->save() , возможно, используя компонент.
  • Подтвердите данные с помощью пользовательских правил в модели ( var $validate array) и преобразуйте их, возможно, используя Поведение.

Что вы порекомендуете? Есть ли другой подход к этому?

Благодаря!