Попробуйте JScrambler . Я недавно дал ему отклик и был впечатлен им. Он предоставляет набор шаблонов для обфускации с предопределенными настройками для тех, кто не заботится о деталях и просто хочет быстро это сделать. Вы также можете создавать пользовательскую обфускацию, выбирая любые преобразования / методы, которые вы хотите.
Обычно вы можете сделать, как показано ниже:
$rule = array(
'name' => 'required',
);
if (!empty($inputs['id'])) {
$user = User::findOrFail($inputs['id']);
} else {
$rule["image"] = "required";
$user = new User;
}
Вы можете использовать правила условного добавления, не имеющие изображения в базе данных
Add this in model
public function notHavingImageInDb()
{
return (empty($this->image))?true:false;
}
Это запрос правила валидации
public function rules()
{
$user = User::find(Auth::id());
$rules = [
'name' =>'required|max:100',
'image' =>'image',
];
if ($user->notHavingImageInDb()){
$rules['image'] = 'required|image';
}
return $rules;
}
Не забыли импортировать аутентификацию и пользовательскую модель, т.е. [ 116]
use App\User;
use Auth;
для более подробной информации нажмите здесь
Лучше разделить их или просто создать другую функцию. Но вы можете поставить оператор if, если изображение находится в запросе или нет.
Например:
if(! isset($data['image'])){ //if the image is not in the request
//Your code
}
else{ //if the image is in the request
//Your code
}
Если вам нужен код для хранения, переименования и перемещения изображения, не стесняйтесь запрашивать.
Вы можете использовать проверку после хука.
public function Postchild(Request $request)
{
//Define your rules
$rules = [
'child_name' => 'required',
'gender' => 'required',
'dob' => 'required',
'current_class' => 'required',
'b_group' => 'required',
'm_tongue' => 'required',
];
//Validate your data
$data = $request->except('_token');
$validator = \Validator::make($data,$rules);
$validator->after(function ($validator) {
//Check the mode of request (Create or Update)
if(!empty($data['id'])){
$child_details = Children::findOrFail($data['id']);
if($child_details->image == null){
$validator->errors()->add('image', 'Image field is required');
}
}
});
if ($validator->fails()) {
return redirect()->back()
->withErrors($validator)
->withInput();
}
}