-
阿波罗的战车
在拉拉维尔中,有许多方法可以验证数据。我更喜欢的不是在控制器中编写验证检查并将其写入单独的表单请求,并将该请求对象用作参数。假设我们有一个用户模型,并且需要一个名称和控制器的唯一in和方法,你可以简单地使用对象,如下所述。storeupdateUserRequest创建表单请求类php artisan make:request UserRequestclass UserRequeset extends Request{ /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $id = request('id') ?: 'NULL'; // To identify if a request is for store or update just take autoincremented id parameter from request return [ 'name' => "required|unique:users,name,$id" ]; // You can also customize your validation for different methods as below switch ($this->method()) { case 'POST': return [ // validation for post method ]; break; case 'PUT': return [ // validation for put method ]; break; default: return []; break; } } public function messages() { return [ "name.required" => "User name is required", "name.unique" => "User name should be unique" // or you can customize this using language "name.required" => __("user.required_message"), "name.unique" => __("user.unique_message") ]; }}在UserControlleruse App\Http\Requests\UserRequest;class UserController extends Controller{ public function store(UserRequest $request) { // Enter your code just after validation part no need of any validation code here } public function update(UserRequest $request) { // Enter your update code just after validation part no need of any validation code here }}
-
慕丝7291255
您可以使用以下方法执行此操作:$this->validate( $request, [ 'YOUR INPUT FIELD NAME' => 'required', ]);你也可以使用自拉威尔5.5+:$request->validate()$request->validate( [ 'YOUR INPUT FIELD NAME' => 'required', ]);
-
叮当猫咪
$validator = Validator::make($request->all(), [ 'phone' => 'sometimes|max:255', 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255', 'pic_file' => 'sometimes|mimes:jpg,png,jpeg,gif|max:1000',]);if ($validator->fails()) { return redirect('/')->withErrors($validator);}