我有多个表单(> 20),我正在寻找使用Regex验证表单输入字段的方法。
我想创建一个新规则并调用rull进行验证,而不是手动填充正则表达式来验证控制器。
以防万一,如果我需要更新正则表达式模式,则可以一次完成它,而不必手动以所有形式进行。
我不确定如何将Regex模式添加到规则中。
我的步骤:
php artisan make:rule MobileNo
我的正则表达式模式
用于验证电话号码以及固定电话号码
`regex:/(^[0-9]+$)+/`
标题验证:
regex:/(^[A-Za-z0-9@ ()%,:<>?*&-]+$)+/
请指导我如何实现?
答案 0 :(得分:2)
在var app = new Vue({
el: '#app',
data: {
cards: []
},
methods: {
scroll(card) {
window.onscroll = () => {
let bottomOfWindow = document.documentElement.scrollTop +
window.innerHeight === document.documentElement.offsetHeight;
if(bottomOfWindow) {
const url =
'https://api.jsonbin.io/b/5cab36508b8d1301a25bd8fa/1/';
axios.get(url)
.then(response => {
for (var i = 0; i < this.cards.length; i++) {
console.log('Cards id: ', this.cards[i].id)
if(this.cards[i].id !==
response.data.results[i].id){
for (var x = 0; x < 2; x++) {
this.cards.push(response.data.results[x])
}
} else{
console.log('No more cards to load')
}
}
}
})
}
}
},
getAPI(){
const url = 'https://api.jsonbin.io/b/5cab36508b8d1301a25bd8fa/1/';
axios.get(url)
.then(response => {
for (var i = 0; i < 5; i++) {
this.cards.push(response.data.results[i]);
}
})
.catch(function (error) {
console.log(error);
})
.then(function () {
// always executed
});
console.log(this.cards)
}
},
mounted() {
this.scroll(this.card)
}
})
命令之后,您将看到在rules文件夹下创建了一个文件。
在该文件中,您必须定义以下规则
make:rule
在您的控制器中,您可以执行以下操作
public function passes($attribute, $value)
{
return preg_match('/(^[0-9]+$)+/', $value);
}
希望这会有所帮助:)
答案 1 :(得分:0)
regex:pattern
正在验证的字段必须与给定的正则表达式匹配。
注意:使用正则表达式模式时,可能需要在数组中指定规则而不是使用管道定界符,尤其是在正则表达式包含管道字符的情况下。
要澄清:,您将执行以下操作。
$regex_rules = array('test' => array('size:6', 'regex:foo'));
'cid' => array('required', 'regex:/^((comp)|(soen)|(engr)|(elec))\d{3}$/i'),
'description'=>'required|regex:/^[A-Za-z \t]*$/i|min:3|unique:courses',
'credits'=>'required|regex:/^\d+(\.\d)?$/'