Как я могу избежать изображения, необходимого в форме редактирования, если изображение существует в laravel?

Попробуйте JScrambler . Я недавно дал ему отклик и был впечатлен им. Он предоставляет набор шаблонов для обфускации с предопределенными настройками для тех, кто не заботится о деталях и просто хочет быстро это сделать. Вы также можете создавать пользовательскую обфускацию, выбирая любые преобразования / методы, которые вы хотите.

2
задан ravi 16 January 2019 в 08:53
поделиться

4 ответа

Обычно вы можете сделать, как показано ниже:

$rule = array(
    'name' => 'required',
   );

if (!empty($inputs['id'])) {
    $user = User::findOrFail($inputs['id']);
} else {
    $rule["image"] = "required";
    $user = new User;

}
0
ответ дан Rahul Pawar 16 January 2019 в 08:53
поделиться

Вы можете использовать правила условного добавления, не имеющие изображения в базе данных

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;

для более подробной информации нажмите здесь

0
ответ дан Gurpal singh 16 January 2019 в 08:53
поделиться

Лучше разделить их или просто создать другую функцию. Но вы можете поставить оператор 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

    }

Если вам нужен код для хранения, переименования и перемещения изображения, не стесняйтесь запрашивать.

0
ответ дан Hassan Inter 16 January 2019 в 08:53
поделиться

Вы можете использовать проверку после хука.

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();
  }
}
0
ответ дан Binal Gajjar 16 January 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: