Я создал специальный класс проверки подлинности с именем «EndTimeValidator» в общем пространстве имен \ components.Проверка правильности клиентской части клиента
Код:
namespace common\components;
use yii\validators\Validator;
class EndTimeValidator extends Validator
{
public function init()
{
parent::init();
$this->message = 'Event EndTime must be greater than StartTime.';
}
public function validateAttribute($model, $attribute)
{
$startDate = $model->StartDate;
$endDate = $model->EndDate;
$startTime = $model->StartTime;
$endTime = $model->EndTime;
if(($startDate == $endDate) && $startTime != "" && $endTime != "" )
{
if(strtotime($endTime) < strtotime($startTime))
{
$this->addError($attribute, $this->message);
}
}
}
public function clientValidateAttribute($model, $attribute, $view)
{
$startDate = $model->StartDate;
$endDate = $model->EndDate;
$startTime = $model->StartTime;
$endTime = $model->EndTime;
if(($startDate == $endDate) && $startTime != "" && $endTime != "" )
{
if(strtotime($endTime) < strtotime($startTime))
{
return <<<JS
messages.push($this->message);
JS;
}
}
}
}
А в модели я первый включала этот путь и определил проверки, как показано ниже:
use common\components\EndTimeValidator;
['EndTime', EndTimeValidator::class],
Вопрос обновление:
Но она дает меня ниже исключения:
вызов функции члена getAttributeLabel() на не-объект
Я упомянул об этом link. Я что-то делаю неправильно? Пожалуйста, направляйте меня. Благодаря!
Спасибо это сработало! Но после этого он все еще дает мне еще одну ошибку. Я обновил вопрос. Не могли бы вы снова помочь? – Chinmay
Пожалуйста, показать полную ошибку и файл, где он указывает – Yupik