在 extjs 中扩展电子邮件验证

2024-01-17

我在 ExtJs 6.0.1.250 版本中内置了以下用户注册表单。我有一个接受电子邮件字段.co,.com直到四个字。我需要处理最近的事情tlds并想要覆盖电子邮件验证逻辑。我尝试过validator并应用正则表达式但是regexText不支持国际化。如何延长email验证。我使用的是 6.0 版本的 extjs 框架。下面是 UserForm 的代码片段

Ext.define('myApp.view.users.NewUserForm', {
extend: 'Ext.panel.Panel',
xtype: 'newuser',
title: '<span class="red-label">*</span>'+ l10n('new-user'),
items: [{
    xtype: 'textfield',
    fieldLabel: '<span class="red-label">*</span>' + l10n('name'),
    name: 'username',
    maxLength: 80,
    allowBlank: false
}, {
    xtype: 'textfield',
    inputType: 'password',
    fieldLabel: '<span class="red-label">*</span>' + l10n('password'),
    name: 'password1',
    vtype: 'password',
    initialPassField: 'password2',
    allowBlank: false,
    maskRe: /[^ ]/
}, {
    xtype: 'textfield',
    fieldLabel: '<span class="red-label">*</span>' + l10n('confirm-password'),
    vtype: 'password',
    inputType: 'password',
    name: 'password2',
    initialPassField: 'password1',
    allowBlank: false,
    maskRe: /[^ ]/
}, {
    xtype: 'textfield',
    fieldLabel: '<span class="red-label">*</span>' + l10n('e-mail-address'),
    name: 'emailAddress',
    vtype:'email',
    allowBlank: false
}, {
    xtype: 'textarea',
    fieldLabel: l10n('description'),
    name: 'userDescription'
  }]
});

您可以像这样覆盖电子邮件验证 vtype:

Ext.define(null, {
    override: 'Ext.form.field.VTypes',
    email: function (value) {
        return /^(")?(?:[^\."\s])(?:(?:[\.])?(?:[\w\-!#$%&'*+/=?^_`{|}~]))*\1@(\w[\-\w]*\.){1,5}([A-Za-z]){2,10}$/.test(value);
    }
});

我采用了默认的电子邮件正则表达式并进行了更改,使其允许域名包含 2 到 10 个字符。

Edit

如果你使用 Sencha CMD,有一个特殊的overrides您应该放置覆盖的文件夹。所以你可以创建一个名为Vtypes.js,将代码放在那里,然后sencha app refresh你会好起来的。如果不这样做 - 覆盖基本上应该在使用实际 vtype 之前执行。你可能有一个名为applyOverrides在你的Application.js,然后从你的第一件事中调用它launch http://docs.sencha.com/extjs/6.2.0/classic/Ext.app.Application.html#method-launch method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 extjs 中扩展电子邮件验证 的相关文章

  • 将 next.js 与纱线工作区结合使用

    今天遇到了这样的项目结构的复杂情况 packages app pages package json ui kit pages package json shared babelrc package json root lvl 包 json
  • Jquery文件上传插件进度条

    这个插件 https github com blueimp jQuery File Upload wiki管理网页中的文件上传 并且可以在上传过程中添加很多 UI 元素 您创建一个输入文件类型元素 然后绑定 js 文件 使用实例化代码和 w
  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • mocha.opts 已弃用,如何迁移到 package.json?

    我正在开发一个大型项目 自从上周我更新了摩卡以来 现在我们收到警告 DeprecationWarning 通过 mocha opts 进行的配置已被弃用并且 将从 Mocha 的未来版本中删除 使用 RC 文件或 改为 package js
  • Javascript - 使数组索引 toLowerCase() 不起作用

    我试图将所有数组索引设置为小写字符串 但它不起作用 我在这里查看了其他答案并尝试了他们的解决方案 例如使用toString 添加之前toLowerCase但它不起作用 这很奇怪 我创建了一个问题的jsfiddlehere https jsf
  • jQuery数据表设置列设计和成功回调中的值

    我为我的数据表编写了以下代码 它用我的数据库中的内容填充表 如下所示 if datatable null datatable destroy datatable tableProducts DataTable pageLength 50 b
  • 如何针对 IE 进行优化?

    我有一个 JS 密集型应用程序 它在 IE 中运行缓慢 我将花费大约一周的时间来优化 IE 并且我想要一些关于尝试的方向 我发现这个线程引用Drip https ieleak svn sourceforge net svnroot iele
  • 通过 Javascript 更改 Webkit 属性?

    请帮助我 可能是因为我对 CSS 动画和 Javascript 相当陌生 但我使用的代码应该更改它的属性 当我运行代码时 它会执行代码中的所有其他操作 除了更改所需 div 的 CSS 属性 我已经尝试了所有这四种方法 但似乎都不起作用 它
  • 我可以用一个简单的函数制作一个迭代器吗? (没有生成器或 Symbol.iterator)

    我一直在尝试使用普通函数创建一个迭代器 而不使用生成器或使用Symbol iterator用于学术目的的协议 为此 我创建了一个函数 它返回一个带有next参数 但尝试将其作为iterable的论证for of循环会产生不需要的结果 这是到
  • 从 ES6 模块导入函数表达式或函数声明有什么区别?

    据我了解 参见第 16 3 2 1 节 http exploringjs com es6 ch modules html ES6 允许函数 类导出操作数使用不同的语法 区别在于导出的函数是否需要在导入时解释为函数声明 在这种情况下 您可以编
  • 如何将查询参数添加到守卫中的路由并将其传递给 Angular 4 中的组件?

    我在我的 Angular 4 应用程序中使用路由保护 如果条件满足并返回 true 我想向路由添加一个查询参数 这是我一直在研究的代码 Injectable export class ViewGuardService implements
  • 在each() 和forEach() 中使用break 和 continue

    如果我们不能使用 break 和 continue 关键字 我不确定我是否理解函数式循环 映射的价值 我可以做这个 collections users models forEach function item index can t use
  • Chrome 跨域 PATCH 请求不起作用

    我有一个带有 REST Api 的网站 现在我正在创建一个浏览器扩展 它将从某些页面收集数据并将它们发送回 REST Api 因为我希望我的扩展能够与 Firefox 和 Chrome 兼容 并且易于维护 所以我将实际代码作为脚本标记注入到
  • Moment.js 动态更新时间(以秒为单位)

    我试图显示时钟 that 每秒更新一次 e g 2015 年 1 月 5 日 12 05 01 它似乎对我来说工作得很好 对于相同的代码 并且只有 moment min js 指向v2 11 0 看看代码 来源 MilkyWayJoe va
  • 如何检查侧边栏视图是否已经在主干中渲染?

    通常 用户通过主页进入网站 然后我在那里渲染侧边栏视图 接下来 用户单击链接 路由器呈现另一个视图并替换原始内容视图 侧边栏视图不会重新渲染 当用户在子页面上单击刷新时 侧边栏不会呈现 如何检查视图是否存在并且已渲染 划分责任并坚持下去 不
  • FullCalendar:如何重新创建/重新初始化 FullCalendar 或批量添加多个事件

    我正在尝试将新事件批量添加到日历中 但未能找到方便的使用方法 所以我决定用新的事件数组重新初始化视图 所以我尝试了以下方法 var events title Event start new Date y m d 10 description
  • 如何使用 Node.js 解析 JSON? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我应该如何使用 Node js 解析 JSON 是否有一些模块可以安全地验证和解析 JSON 你可以简单地使用JSON parse h
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • 除非打开开发人员工具,否则 IE8 Javascript 无法运行?

    由于某种原因 在 IE8 中 除非我在打开开发工具的情况下重新加载页面 否则 javascript 不会运行 我关闭开发人员工具并重新加载页面 然后 javascript 停止工作 我没有收到任何错误报告 无论如何它们也没有任何用处 还有其
  • 禁用移动设备上的锚点菜单点击

    我使用嵌套列表作为带有子菜单项的菜单 我曾经这样做过 如果您将鼠标悬停在主菜单项上 子菜单项将通过将显示从无更改为块来出现 我决定让子菜单看起来就像是下拉的 并使用了 CSS 过渡 我遇到的问题是 在第一种方法中 如果您触摸 iPad 上的

随机推荐

  • 缺少 [mx.rpc]::IResponder

    我正在尝试在 Flash 应用程序中使用 Flex 4 SDK 的 mx rpc 包 我将 Flex 的 rpc swc Adobe Adobe Flash Builder 4 sdks 4 0 0 frameworks libs rpc
  • 使用源链接的最佳实践

    我正在尝试在 NuGet 包中实现 Source Link 我已成功实施 GitHub README 中的说明 https github com dotnet sourcelink https github com dotnet sourc
  • 我想在脚本应用程序中运行一个函数,该函数会自动在列中查找单词并自动将该行存档到另一个选项卡

    如果 D 列包含 已取消配置 一词 我希望自动将行归档到另一个选项卡 我不是手动编辑单元格 而是从 CSV 导出中复制并粘贴 以便各列预先填充信息 我尝试了下面的脚本 但收到一条错误消息 提示未定义 我不确定这是否与我没有手动编辑工作表上的
  • C++:具有多态性的多重继承

    提前原谅菜鸟问题 我有4节课 class Person class Student public Person class Employee public Person class StudentEmployee public Studen
  • Rails 使模型的片段缓存过期

    我正在 Rails 项目中使用缓存 并且希望使特定 url 的缓存过期 我收到以下命令来使与传递的 URL 相对应的片段过期 ActionController Base new expire fragment localhost 3000
  • 如何在 python 3.6 中导入我自己的模块?

    假设我有一个如下文件 项目0 pizza py 项目0 make pizza py 和披萨 def make pizza size toppings print nMaking a str size inch pizza with the
  • 使用 Javascript 检测 html 页面中的所有图像

    我正在编写一个 Chrome 扩展程序 并试图检测网页中的所有图像 我正在尝试在我的 JS 代码中检测all网页上的图像 我的意思是 网页加载后加载的图像 用作背景的图像 在 CSS 或内联 html 中 网页加载完成后可以加载的图像 例如
  • JetBrains 的 @Contract 注释

    如何org jetbrains annotations Contract注释工作 IntelliJ IDEA 如何支持它 首先 我应该说这个注释仅供IDEA用来检查可能的错误 Java 编译器几乎会完全忽略它 它将出现在已编译的工件中 但没
  • 如何为 tf-idf 矢量器创建 scikit 管道?

    我正在经历这个官方sklearntutorial https scikit learn org stable auto examples model selection grid search text feature extraction
  • 如何为 argparse 中的现有参数添加位置选项

    我正在处理一个 Python 3 x 脚本 由其他人编写 其中输入和输出当前使用标记的可选参数指定 如下所示 parser add argument i input nargs type argparse FileType r defaul
  • 如果我只有类名的字符串,如何从类中调用静态方法?

    我怎样才能让这样的事情发挥作用 class name ClassPeer class name doSomething 取决于 PHP 版本 call user func array class name doSomething call
  • Android SQLite数据库:插入速度慢

    我需要解析一个相当大的 XML 文件 大约一百千字节到几百千字节 我正在使用Xml parse String ContentHandler 我目前正在使用 152KB 文件对此进行测试 在解析过程中 我还使用类似于以下的调用将数据插入 SQ
  • Magento 自定义模块如何在 config.xml 中存储变量

    我有一个工作正常的自定义模块 但我希望能够在配置中存储变量 以便我可以在代码中使用它们 例如默认错误消息 我想我可以通过使用 Mage getStoreConfig some path here 来访问它们但我不知道如何将它们添加到模块 c
  • 将 CString 转换为字符串 (VC6)

    我想将 CString 转换为字符串 是的 我知道我在做什么 我知道如果 CString 值范围超出 ANSI 返回的字符串将不正确 但没关系 以下代码在VC2008下可以运行 std string Utils CString2String
  • 是否有可以包含资源的受支持文件类型列表?

    我正在寻找可以包含资源并可以通过以下方式加载的文件类型列表LoadLibrary http msdn microsoft com en us library windows desktop ms684175 28v vs 85 29 asp
  • python内置列表的__init__方法下面的初始化过程是什么

    我的问题是init列表类的方法调用其他方法 例如append或insert 来实现其功能 like class test list def init self values super init def append self value
  • 具有 Circe 实现的通用 json 解码器特征 [重复]

    这个问题在这里已经有答案了 我有一个用于将 json 解码器注入为项目组件依赖项的特征 trait JsonDecoder def apply T s String Option T 当我尝试用它来实现它时Circe https circe
  • 从 Xerces 获取架构数据类型

    我在 Xerces C 中使用 SAX2 并且希望在处理元素时获取 XML 架构数据 以便了解架构中定义的类型 我怎样才能做到这一点 好吧 我知道该怎么做了 关于该主题的可用文档很少 显然 我需要将 XMLReaderFactory cre
  • Rust - 调用内部值方法的枚举方法

    我有一个如下的枚举 enum Foo A X B Y C Z 其中 X Y 和 Z 是实现该方法的结构体bar 我希望能够定义一个方法bar on the Fooenum 以便调用其内部值对应的方法 现在我有这个 impl Foo pub
  • 在 extjs 中扩展电子邮件验证

    我在 ExtJs 6 0 1 250 版本中内置了以下用户注册表单 我有一个接受电子邮件字段 co com直到四个字 我需要处理最近的事情tlds并想要覆盖电子邮件验证逻辑 我尝试过validator并应用正则表达式但是regexText不