【发布时间】:2020-06-09 18:47:55
【问题描述】:
代码使特定行可见:data-bind="visible: email() == 'first.last@gmail.com'"
元素/输入 ID 为:电子邮件 设置规则:first.last@gmail.com
当我在文本字段中输入 first.last@gmail.com 时,会出现新行,但是,当我输入 First.Last@gmail.com 时,它不会出现,因为代码区分大小写 (如您所见,F 和 L 现在都是大写的)。有什么我可以添加到它以使其不区分大小写的吗?
Example of the case sensitive email entered. Does not make the next row visible
Example of the email working when case is lowercase. Next row becomes visible
【问题讨论】:
-
好吧,当您使用
equal value and equal type(==) 并显式输入字符串 ('first.last@gmail.com') 时,布尔表达式仅在用户输入正是该特定字符串时才会显示为真.因此,在您的一行代码中,您只考虑了一个字符串输入;其他一切都是错误的。你到底想不允许什么?您是否希望用户遵循确切的格式,无论他们的名字和区分大小写如何?格式,例如,保留名字和姓氏之间的句点? -
@AttemptedMastery,我的意思是 F 和 L 都是大写的,并且数据绑定规则仅在显示行时才接受它。有什么我可以添加到数据绑定中以使其不区分大小写的吗?我添加了图片以显示我所指的内容。
-
我的问题是,为什么数据绑定使用户只使用某种情况?用户应该能够选择区分大小写。现在,在您的代码中,您的工作是确保所有用户名的大小写敏感度一致,以便您可以轻松地使用它们。惯例是使用小写字母 (
.toLowerCase()),因此敏感性不是问题。另外,我想说的是你实际上只接受这个字符串:“first.last@gmail.com'”。在数以百万计的组合中,您只允许使用一个用户名。 -
这样想吧;使用您当前的代码,您只有一个选项可供选择,即
'first.last@gmail.com'。我不确定你在做什么,但如果你试图控制表单中的输入,设置严格的字符串条件可能不是你或潜在用户想要的...... -
@AttemptedMastery 感谢您抽出宝贵时间回复您的意见。我的意图是将其限制为一封电子邮件。在特定情况下,用户的电子邮件需要打开一个新行。正在添加此数据绑定以隐藏该行,直到输入电子邮件。如果你把他们的电子邮件全小写,它工作得很好,但如果填写表格的人使用大写字母,数据绑定就会失败。这更有意义吗?对于我意识到我没有很好地解释我的问题时的困惑,我深表歉意。