【问题标题】:How do you dynamically validate field input in LiveCode? [closed]如何在 LiveCode 中动态验证字段输入? [关闭]
【发布时间】:2014-03-04 11:36:16
【问题描述】:

我在 LiveCode 中有一个收集客户详细信息的表单。其中一个字段是他们的电话号码。如何阻止他们输入有效电话号码字符以外的任何内容?

【问题讨论】:

    标签: livecode


    【解决方案1】:

    上面尼尔的回答是验证数字的一种非常简单的方法。您可能会发现另外两种有用的方法。

    注意:不“传递”keyDown 消息会阻止它向上移动消息路径。 LiveCode 字段对象最后获取消息,因此如果您不传递它,它将不会添加到字段中。这是执行 Neil 建议的过滤的好方法。

    通过检查字符是否在列表中进行过滤:

    on keyDown pKey
       if pKey is among the characters of "0123456789()+" then pass keyDown
    end keyDown
    

    使用正则表达式匹配过滤:

    on keyDown pKey
       put me & pKey into tPhoneNumber
       if matchText(tPhoneNumber,"[0-9]") then pass keyDown
    end keyDown
    

    在上面的示例中,您获取字段的当前内容和,添加新字符并检查它是否与正则表达式匹配。使用这种方法,您可以使用强制特定格式、长度等的复杂正则表达式。

    【讨论】:

      【解决方案2】:

      与所有 LiveCode 对象一样,字段接收各种消息,其中之一是 keyDown 消息。如果 keyDown 存在于字段中,它将被触发并传递当前按键的参数。既然我们现在知道关键是什么,我们就可以做出适当的反应。 -

      on keyDown pKey
         if pKey is not a number then
         answer "you must type numbers only in this field"
      else
          pass keyDown
        end if
      end keyDown
      

      【讨论】:

        猜你喜欢
        • 2013-02-24
        • 1970-01-01
        • 2021-08-13
        • 2013-06-27
        • 2011-04-17
        • 2021-08-02
        • 2015-02-24
        • 2012-07-17
        • 1970-01-01
        相关资源
        最近更新 更多