Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在本机脚本代码中验证电子邮件_Javascript_Vue.js_Authentication_Nativescript_Native - Fatal编程技术网

Javascript 在本机脚本代码中验证电子邮件

Javascript 在本机脚本代码中验证电子邮件,javascript,vue.js,authentication,nativescript,native,Javascript,Vue.js,Authentication,Nativescript,Native,我使用if语句来验证电子邮件,但是当我将其添加到本机脚本中时,它表示只能在顶层或块内声明函数。所以我不确定在哪里添加此代码 <template> <Page> <ActionBar title="authentication" /> <StackLayout id="registervalidate" class="registervalidate"> <TextField v-model="y

我使用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>

导出默认值{
数据(){
返回{
您的邮件:'',
您的密码:“”
} 
},
方法:{
onSubmit:function(){
如果(!this.youremail){
}否则如果(!this.validEmail(this.youremail)){
//检查电子邮件是否有效
返回;
}
如果(!this.yourpassword){
返回;
}否则{
返回;
}
validEmail:函数(电子邮件){//有效电子邮件
变量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,}))$/;
返回重新测试(电子邮件);
}

您应该在脚本部分中使用导出默认值,并在
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>


您是否尝试在js周围放置
标记?感谢您的回复。是的,我确实放置了标记,但它说“函数只能在顶层或块内声明”。嘿,我添加了导出默认值并添加了数据对象,但出现了相同的错误。