@@ -234,6 +234,7 @@ public function testItCanGetTheRequiredFields()
234234 $ this ->crudPanel ->setValidation ([
235235 'email ' => 'required ' ,
236236 'password.*.test ' => 'required ' ,
237+ 'not_required ' => 'present ' ,
237238 ]);
238239
239240 $ this ->crudPanel ->setValidation (UserRequest::class);
@@ -250,13 +251,31 @@ public function testItCanGetTheRequiredFieldsFromCustomRules()
250251 $ this ->crudPanel ->setValidation ([
251252 'email ' => ValidUpload::field ('required ' ),
252253 'password ' => ValidUploadMultiple::field ('required ' ),
254+ 'not_required ' => ValidUpload::field ('present ' ),
253255 ]);
254256
255257 $ this ->assertEquals (['email ' , 'password ' ], array_values ($ this ->crudPanel ->getOperationSetting ('requiredFields ' )));
256258 $ this ->assertTrue ($ this ->crudPanel ->isRequired ('email ' ));
257259 $ this ->assertTrue ($ this ->crudPanel ->isRequired ('password ' ));
258260 }
259261
262+ public function testItCanGetTheRequiredFieldsFromRulesArray ()
263+ {
264+ $ this ->crudPanel ->setModel (User::class);
265+
266+ $ this ->crudPanel ->setValidation ([
267+ 'email ' => ['required ' , 'string ' ],
268+ 'password ' => ['string ' , 'required ' ],
269+ 'password_confirm ' => ['same:password ' , ValidUploadMultiple::field ('required ' )],
270+ 'not_required ' => ['string ' , 'present ' , 'foobar ' ],
271+ ]);
272+
273+ $ this ->assertEquals (['email ' , 'password ' , 'password_confirm ' ], array_values ($ this ->crudPanel ->getOperationSetting ('requiredFields ' )));
274+ $ this ->assertTrue ($ this ->crudPanel ->isRequired ('email ' ));
275+ $ this ->assertTrue ($ this ->crudPanel ->isRequired ('password ' ));
276+ $ this ->assertTrue ($ this ->crudPanel ->isRequired ('password_confirm ' ));
277+ }
278+
260279 public function testItCanValidateCustomRules ()
261280 {
262281 $ this ->crudPanel ->setModel (User::class);
0 commit comments