如何在Laravel5请求类中验证Money

Vik*_*han 16 php validation laravel laravel-5.1

我的验证类看起来像这样

<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;

class PaymentRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $rules = array(

                       'invoiceid'=>'required',
                       'recieved_amount'=>'required',
                       'ref_no'=>'required',
                       'date'=>'required',
                       'comment'=>'required'
                       );


    }
}
Run Code Online (Sandbox Code Playgroud)

我想验证recieved_amount为Money字段如果输入除money以外的任何其他内容,则应进行验证

任何人都可以帮助我

Ama*_*san 53

例如,你可以使用它(作为'金额'的金额):

public static $rules = array(
  'amount' => "required|regex:/^\d+(\.\d{1,2})?$/"
));
Run Code Online (Sandbox Code Playgroud)

正则表达式将保留数量为"12"或"12 .5"或"12 .05".如果您想要更多的小数点,请将"2"替换为您需要的允许小数.

  • 我将再次稍作更改:`regex:/ ^ \ d +(\。\ d {1,2})?$ /`以禁止使用.22之类的东西。 (3认同)
  • 是的,因为点部分是可选的。但请使用您所在国家/地区的正确货币格式(例如,在美国,他们使用逗号而不是点数) (2认同)
  • 我略微改变正则表达式允许1或2个十进制数字,看看. (2认同)