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

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