坐标验证
P粉982009874
P粉982009874 2023-07-28 09:27:27
[Vue.js讨论组]

我有一个用于坐标的文本字段,我想使用vee-validate(3.x)和Vue 2对其进行验证。我尝试了两种不同的方法,但都没有成功。坐标的格式应该是"整数或浮点数,整数或浮点数",即"纬度,经度"(只有一个逗号,多个逗号应该被标记为无效)。

这是文本字段:


<ValidationProvider v-slot="{ errors }" rules="coordinates_validation">
            <v-text-field
              :label="$t('stations.position')"
              :value="positionValue"
              :error-messages="errors"
              @input="$emit('update:station', { ...station, ...getLatLong($event) })"
              @keypress="justNumber"
            />
</ValidationProvider>

这是我尝试过的两种方法,但都没有成功:

extend("coordinates_validation", {
  validate: (value) => {
    const coordinates = value.split(",");

    if (coordinates.length !== 2) {
      return false;
    }

    const trimmedCoordinates = coordinates.map((coord) => coord.trim());

    const isValidCoordinate = (coord) => {
      return !Number.isNaN(parseFloat(coord)) && Number.isFinite(coord);
    };

    return (
      trimmedCoordinates.every(isValidCoordinate) &&
      !trimmedCoordinates.some((coord) => coord === "")
    );
  },
  message: i18n.tc("validations.coordinates_incorrect_format"),
});
extend('coordinates_validation', {
  validate: (value) => {
    const regex = /^d+(.d+)?,s*d+(.d+)?$/;
    return regex.test(value);
  },
  message: i18n.tc('validations.coordinates_incorrect_format'),
});

有人知道如何解决这个问题吗?

P粉982009874
P粉982009874

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号