Я создаю предложение для продуктов Вот почему я реализовал несколько моделей при создании функции в контроллеревстроенная функция валидатора не работает для модели в yii2
public function actionCreate()
{
$model = new Offer();
$wmodel = new Wmoffer();
$pmodel = new Product();
$ummodel = new Unitofmeasurement();
$qvmodel = new OfferingValue();
$blmodel = new OfferLocation();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
// code manipulation
}else{
return $this->render('create', [
'model' => $model,
'wmodel' => $wmodel,
'pmodel' => $pmodel,
'qvmodel' => $qvmodel,
'blmodel' => $blmodel,
'ummodel' => $ummodel
]);
}
все мои моделей распространяется на ActiveRecord аспект Wmoffer()
эта модель выглядит как показано ниже
use Yii;
use yii\base\Model;
use yii\web\UploadedFile;
use yii\helpers\FileHelper;
class Wmoffer extends Model
{
public $bIsProductOrService;
public $iCatalogueID;
public $imageProduct;
public $nHasCurrencyValue;
public $nHasCurrencyValueMRP;
public $BusinesslocationIds;
public function rules()
{
// validation rules
Теперь мне нужно реализовать встроенный валидатор для начала, сравнение дат конца [Дата начала должна быть больше, чем End Date]
Я пробовал this и this, но это не работает. Я знаю, что чего-то не хватает, что вызывает это. Любые предложения будут заметны. Спасибо
Что не работает? как любая ошибка? или просто проверка не выполняется? –
в функции '' wmoffer() 'rules ' ['nHasCurrencyValue', 'customValidator', 'params' => ['extraFields' => 'nHasCurrencyValueMRP']], ' ' public function customValidator ($ attribute, $ params) { if ($ this-> nHasCurrencyValue> $ this -> {$ params ['extraFields'}} { $ this-> addError ('nHasCurrencyValue', 'Max Error'); } } ' Я реализовал это, но он не работает – dod29