在本机脚本代码中验证电子邮件
Validating an email in native script code
我正在使用 if 语句来验证电子邮件,但是当我将它添加到本机脚本游乐场时,它说函数只能在顶层或块内声明。所以我不确定在哪里添加这段代码。
<template>
<Page>
<ActionBar title="authentication" />
<StackLayout id="registervalidate" class="registervalidate">
<TextField v-model="youremail" class="youremail"></TextField>
<TextField v-model="yourpassword" class="yourpassword"></TextField>
<Button text="submit" @tap="onSubmit" />
</StackLayout>
</Page>
</template>
<script>
export default{
data(){
return{
yourmail:'',
yourpassword:''
}
},
methods: {
onSubmit: function() {
if (!this.youremail) {
} else if (!this.validEmail(this.youremail)) {
//CHECK IF EMAIL IS VALID
return;
}
if (!this.yourpassword) {
return;
} else {
return;
}
validEmail: function(email) { // valid email
var re = /^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\
[[0-9]{1,3}\.[0-9]
{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
</script>
您应该在脚本部分使用 export default 并在 validEmail
方法的末尾添加 }
并在 validEmail
方法之前缺少 },
,您还应该数据对象如下:
<template>
<Page>
<ActionBar title="authentication" />
<StackLayout id="registervalidate" class="registervalidate">
<TextField v-model="youremail" class="youremail"></TextField>
<TextField v-model="yourpassword" class="yourpassword">
</TextField>
<Button text="submit" @tap="onSubmit" />
</StackLayout>
</Page>
</template>
<script>
export default {
data() {
return {
yourmail: "",
yourpassword: ""
};
},
methods: {
onSubmit: function() {
if (!this.youremail) {} else if (!this.validEmail(this
.youremail)) {
//CHECK IF EMAIL IS VALID
return;
}
if (!this.yourpassword) {
return;
} else {
return;
}
},
validEmail: function(email) {
// valid email
var re =
/^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
}
};
</script>
检查这个playground
我正在使用 if 语句来验证电子邮件,但是当我将它添加到本机脚本游乐场时,它说函数只能在顶层或块内声明。所以我不确定在哪里添加这段代码。
<template>
<Page>
<ActionBar title="authentication" />
<StackLayout id="registervalidate" class="registervalidate">
<TextField v-model="youremail" class="youremail"></TextField>
<TextField v-model="yourpassword" class="yourpassword"></TextField>
<Button text="submit" @tap="onSubmit" />
</StackLayout>
</Page>
</template>
<script>
export default{
data(){
return{
yourmail:'',
yourpassword:''
}
},
methods: {
onSubmit: function() {
if (!this.youremail) {
} else if (!this.validEmail(this.youremail)) {
//CHECK IF EMAIL IS VALID
return;
}
if (!this.yourpassword) {
return;
} else {
return;
}
validEmail: function(email) { // valid email
var re = /^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\
[[0-9]{1,3}\.[0-9]
{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
</script>
您应该在脚本部分使用 export default 并在 validEmail
方法的末尾添加 }
并在 validEmail
方法之前缺少 },
,您还应该数据对象如下:
<template>
<Page>
<ActionBar title="authentication" />
<StackLayout id="registervalidate" class="registervalidate">
<TextField v-model="youremail" class="youremail"></TextField>
<TextField v-model="yourpassword" class="yourpassword">
</TextField>
<Button text="submit" @tap="onSubmit" />
</StackLayout>
</Page>
</template>
<script>
export default {
data() {
return {
yourmail: "",
yourpassword: ""
};
},
methods: {
onSubmit: function() {
if (!this.youremail) {} else if (!this.validEmail(this
.youremail)) {
//CHECK IF EMAIL IS VALID
return;
}
if (!this.yourpassword) {
return;
} else {
return;
}
},
validEmail: function(email) {
// valid email
var re =
/^(([^<>()\[\]\.,;:\s@"]+(\.[^<>()\[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
}
};
</script>
检查这个playground