@@ -1345,7 +1345,7 @@ public function skipValidation(bool $skip = true)
13451345 }
13461346
13471347 /**
1348- * Allows to set validation messages.
1348+ * Allows to set (and reset) validation messages.
13491349 * It could be used when you have to change default or override current validate messages.
13501350 *
13511351 * @param array $validationMessages Value
@@ -1376,7 +1376,7 @@ public function setValidationMessage(string $field, array $fieldMessages)
13761376 }
13771377
13781378 /**
1379- * Allows to set validation rules.
1379+ * Allows to set (and reset) validation rules.
13801380 * It could be used when you have to change default or override current validate rules.
13811381 *
13821382 * @param array $validationRules Value
@@ -1401,6 +1401,17 @@ public function setValidationRules(array $validationRules)
14011401 */
14021402 public function setValidationRule (string $ field , $ fieldRules )
14031403 {
1404+ $ rules = $ this ->validationRules ;
1405+
1406+ // ValidationRules can be either a string, which is the group name,
1407+ // or an array of rules.
1408+ if (is_string ($ rules )) {
1409+ [$ rules , $ customErrors ] = $ this ->validation ->loadRuleGroup ($ rules );
1410+
1411+ $ this ->validationRules = $ rules ;
1412+ $ this ->validationMessages = $ this ->validationMessages + $ customErrors ;
1413+ }
1414+
14041415 $ this ->validationRules [$ field ] = $ fieldRules ;
14051416
14061417 return $ this ;
@@ -1466,7 +1477,9 @@ public function getValidationRules(array $options = []): array
14661477 // ValidationRules can be either a string, which is the group name,
14671478 // or an array of rules.
14681479 if (is_string ($ rules )) {
1469- $ rules = $ this ->validation ->loadRuleGroup ($ rules );
1480+ [$ rules , $ customErrors ] = $ this ->validation ->loadRuleGroup ($ rules );
1481+
1482+ $ this ->validationMessages = $ this ->validationMessages + $ customErrors ;
14701483 }
14711484
14721485 if (isset ($ options ['except ' ])) {
0 commit comments