【问题标题】:Restrict Users from entering only spaces in textbox in c# mvc限制用户在 c# mvc 的文本框中只输入空格
【发布时间】:2015-05-12 12:25:57
【问题描述】:

我有一个视图,用户在文本框中输入一个值。 它可能是数字、字符、特殊字符任何东西。但我想验证用户不允许输入 ONLY 空格。 用户可以输入带字符的空格,但只能输入空格

例如。

用户可以输入 名称:堆栈“空间”溢出

但用户不应该被允许进入

名称:“空间”“空间”“空间”

问题是我无法在服务器端检查它,因为我的模型是在另一个项目中定义的 DTO,该项目在这个项目中作为 dll 加载。

【问题讨论】:

  • 你可以在javascript中使用onkeydown事件。 link
  • 然后正确地使用视图模型并将[Required]属性添加到视图模型的属性中。
  • RequiredAttribute 效果很好,因为如果属性为 null、包含空字符串 ("") 或仅包含空白字符,则会引发验证异常。跨度>
  • @Stephen : 我的模型在 dll 中,它不能从 dll 中验证。
  • 数据模型在哪里并不重要。使用视图模型。每个视图,尤其是在编辑时都应该有一个视图模型 - What is ViewModel in MVC?

标签: asp.net-mvc-4 c#-4.0


【解决方案1】:

你能不能不修剪文本并检查长度是否大于零?

【讨论】:

  • No.. 我有通过对象向 dll 文件发送值的模型。在此我无法编辑每个值并再次设置为模型的对象。
【解决方案2】:

你可以试试这个

bool b= textBox1.Text.Length>0 && textBox1.Text.Trim().Length==0;

【讨论】:

    【解决方案3】:

    在 Javascript 中定义一个修剪函数。更多信息可以在这里找到:Trim string in JavaScript?

    【讨论】:

    • 我做不到。好像我想输入一个值“堆栈溢出”,堆栈和溢出之间的空间将被替换。此外,我已经运行了一个 javascript 来验证该框是否为空。
    • if(string.trim(yourTextBox.text) ==! "") { //Send data to server }
    猜你喜欢
    • 1970-01-01
    • 2010-11-21
    • 2016-06-14
    • 1970-01-01
    • 2016-07-13
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多