я хочу добавить формат денег на мой проект Laravel - PullRequest
0 голосов
/ 12 апреля 2019

Как проверить денежный формат с десятичной частью.

Мой запрос будет выглядеть как 12,133.00. Ну, ты пытался, но пока не очень хорошо. Я новичок.

public function store(Request $request)
{   
    $this->validate($request, [ 
       'price'=>'required|numeric',
    ]);
}

Ну, я не ожидал многого.

public function store(Request $request)
{   
     $this->validate($request, [ 
        'price'=>'required|numeric',
      ]);  

    $product->price=Input::get('price');

}

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Вы можете воспользоваться Regex и попробовать что-то вроде

$this->validate($request, [ 
   'price'=>"required|regex:/^[0-9]{1,3}(,[0-9]{3})*\.[0-9]{0,2}+$/",
]);

Это будет проверять тысячи и десятичные дроби.

Должно работать на 1,00, 10,00, 100,00 1 000,00 и т. Д., Но не будетподтвердите 1000.00 пропущенной запятой.

Дайте мне знать, если это работает для вас, как ожидалось.

0 голосов
/ 12 апреля 2019

что вам нужно сделать, это использовать встроенную функцию php number_format (). Документация находится по этой ссылке php.net . Что вы хотите сделать следующим образом:

$product = new Product;
$product->price = number_format($request->price, 2, ".", ",");
  • Где первым параметром будет число, которое вы хотите отформатировать.
  • Второй параметр будет сколько десятичных знаков вы хотите.
  • Третьим параметром будет то, как вы хотите разделить десятичные дроби.
  • И последний параметр - это то, как вы хотите разделить тысячи.

Вы можете даже упростить это до:

$product->price = number_format($request->price, 2);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...