![]() |
Diffrerent rorrs with one validator - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forumdisplay.php?fid=28) +--- Forum: CodeIgniter 4 Support (https://forum.codeigniter.com/forumdisplay.php?fid=30) +--- Thread: Diffrerent rorrs with one validator (/showthread.php?tid=85846) |
Diffrerent rorrs with one validator - motoroller - 12-11-2022 He everyone, for example i need validate some dates and compare, Can i did it in one custom validator, but i need different errors, while validate. public function validDateCompare (string $dateStart, string $dateEnd): bool { $DateStart = (new DateTime($dateStart)); $DateEnd = (new DateTime($dateEnd)); if($DateStart > $DateEnd) { return false; // 'One date greater than one' -> send this message } if($DateStart == $DateEnd) { return false; // 'Dates can be same' -> send this message } return true; } Ot is possible with two different validators? RE: Diffrerent rorrs with one validator - datamweb - 12-11-2022 Hi, You can display the desired error for any condition. For more information, see the link below: https://github.com/datamweb/codeIgniter-multi-captcha/blob/316b47f7e2c636e4adbd0f3dd555ae48e4b840f5/CIMultiCaptcha/Validation/RulesCIMC.php#L33-L43 RE: Diffrerent rorrs with one validator - motoroller - 12-11-2022 (12-11-2022, 02:23 PM)datamweb Wrote: Hi, public function validDateCompare (string $dateStart, string $dateEnd, string &$error = null): bool { // Формируем объекты даты $DateStart = (new DateTime($dateStart)); $DateEnd = (new DateTime($dateEnd)); if($DateStart > $DateEnd) { $error = 'New message of erros'; return false; } return true; } any way i got error from Name of validator (validDateCompare ) (12-11-2022, 03:09 PM)motoroller Wrote:(12-11-2022, 02:23 PM)datamweb Wrote: Hi, Sulution Code public function validDatesReport (string $value, string $fields, array $Data, &$error = null): bool { $DateStart = (new DateTime($Data['dateStart'])); $DateEnd = (new DateTime($Data['dateEnd'])); if($DateStart > $DateEnd) { $error = lang('Validation.validDateCompare'); return false; } if($DateStart->diff($DateEnd)->format('%a') > 186) { $error = lang('Validation.validDateDifference'); return false; } return true; } |