I'm viewing the list of my masters data in grid view. The name field is required, but while I'm listing the data in grid view the filter for master filed name is showing required with it's required message as name cannot be blank. Please help me with it, what I'm doing wrong in it.
My Search Model is
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;
}
}
Remove [['masterfee_name'], 'required']
, from rule and add [['masterfee_name'], 'string'],
in searchModel
.
class MasterFeeSearch extends MasterFee
{
public function rules()
{
return [
[['masterfee_id'], 'integer'],
[['masterfee_name'], 'string'],
[['created_at','updated_at'], 'safe'],
];
}
.
.
.
.