我有具有PAGE_COUNT領域的打印機型號會比現有的值..創建laravel自定義驗證,其中輸入值必須在數據庫
用戶將可以輸入當前PAGE_COUNT ..
新的page_count必須大於數據庫中現有的數據......我該怎麼做?
我有具有PAGE_COUNT領域的打印機型號會比現有的值..創建laravel自定義驗證,其中輸入值必須在數據庫
用戶將可以輸入當前PAGE_COUNT ..
新的page_count必須大於數據庫中現有的數據......我該怎麼做?
假設您有Printer
型號,其中包含page_count
列。
您可以在您的AppServiceProvider
的boot()
方法中定義自定義驗證規則。
public function boot()
{
//your other code
Validator::extend('page_count', function($attribute, $value, $parameters, $validator) {
$page_count = Printer::find(1)->first()->value('page_count'); //replace this with your method of getting page count.
//If it depends on any extra parameter you can pass it as a parameter in the validation rule and extract it here using $parameter variable.
return $value >= $page_count;
});
//your other code
}
然後,你可以在你的驗證規則使用它像下面
'page_count' => 'required|page_count'
如果您有任何問題,請告訴我 – jaysingkar
我已經解決了這樣同樣的問題,雖然已經有人送的解決方案在評論部分。
/**
* @param array $data
* validates and Stores the application data
*
*/
public function sendMoney(Request $request)
{
//get the value to be validated against
$balance = Auth::user()->balance;
$validator = Validator::make($request->all(), [
'send_to_address' => 'required',
'amount_to_send' => 'required|max:'.$balance.'|min:0.01|numeric',
]);
//some logic goes here
}
根據您的使用情況,你可以修改...
編碼快樂
從數據庫獲取數據並驗證' 'PAGE_COUNT' 使用=> '需要|分鐘:'。$ myValue)...'。請參閱https://laravel.com/docs/5.2/validation –
謝謝..我會暫時使用它。 – cabs
我剛更改了自定義的錯誤信息。 – cabs