Laravel,验证字段为空

时间:2018-09-04 20:40:54

标签: laravel laravel-validation

当另一个字段具有某些值时,我需要一个字段为空。我正在努力做到这一点:

'distance' => 'required_if:distance_type,==,1 | required_without:distance_type,!=,1'

其背后的想法是:

如果distance_type等于1,则应该要求distance 和 如果distance_type不等于1,则distance应该为空,没有值。

我该怎么办?

3 个答案:

答案 0 :(得分:1)

Laravel有一个非常好的方法来管理复杂的验证逻辑。您可以简单地创建一个规则类,例如Distance.php并在其中添加逻辑。

然后为您的验证器,它类似于以下内容:

'distance' => [new Distance]

在此处查看文档-https://laravel.com/docs/5.7/validation#custom-validation-rules

答案 1 :(得分:0)

嗨,尝试类似的事情。

this.state = {
  projects: [],
  searchfield: ''
};

onSearchChange = (event) => {
  this.setState({ searchfield: event.target.value })
}

<input type="text" placeholder="Search" className="form-control search-input" onChange={this.onSearchChange.bind(this)} />

render() {
    return(
        const filterProjects = this.state.projects.filter(data => {
            // filter projects based on project's name
          return data.project_name.toLowerCase().includes(this.state.searchfield.toLowerCase());
        })
    )
}

答案 2 :(得分:0)

尝试一下:

'distance' => 'required_unless:distance_type,2,3,4