Фильтр Yii2 Gridview показывает обязательное поле с сообщением, как отключить эти обязательные поля для gridview? - PullRequest
0 голосов
/ 24 февраля 2020

Я просматриваю список данных моих мастеров в виде сетки. Поле имени является обязательным, но в то время как я перечисляю данные в виде сетки, фильтр для имени основного файла показывает обязательный, с обязательным сообщением, поскольку имя не может быть пустым. Пожалуйста, помогите мне с этим, что я делаю в этом неправильно.

Моя поисковая модель

class MasterFeeSearch extends MasterFee
{

public function rules()
{
    return [
      [['masterfee_id',], 'integer'],
      [['masterfee_name',], 'required'],
      [['created_at','updated_at'], 'safe'],
    ];
}

/**
 * @inheritdoc
 */
public function scenarios()
{
    // bypass scenarios() implementation in the parent class
    return Model::scenarios();
}

/**
 * Creates data provider instance with search query applied
 *
 * @param array $params
 *
 * @return ActiveDataProvider
 */
public function search($params)
{
    $query = MasterFee::find();

    // add conditions that should always apply here

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);

    $this->load($params);

    if (!$this->validate()) {
        // uncomment the following line if you do not want to return any records when validation fails
        // $query->where('0=1');
        return $dataProvider;
    }

    // grid filtering conditions
    $query->andFilterWhere(['like', 'masterfee_name', $this->masterfee_name,]);

    return $dataProvider;
}

}

1 Ответ

1 голос
/ 24 февраля 2020

Удалить [['masterfee_name'], 'required'] из правила и добавить [['masterfee_name'], 'string'], в searchModel.

class MasterFeeSearch extends MasterFee
{

    public function rules()
    {
       return [
         [['masterfee_id'], 'integer'],
         [['masterfee_name'], 'string'],
         [['created_at','updated_at'], 'safe'],
      ];
    }
.
.
.
.
...