代码之家  ›  专栏  ›  技术社区  ›  Maksym Gontar

MS Exam 70-536-如何在编写任何代码之前限制输入?

  •  3
  • Maksym Gontar  · 技术社区  · 16 年前

    MS Exam 70-536 .Net Foundation ,第3章“搜索、修改和编码文本”,在案例场景1中

    您的组织Northwind Traders正在创建一个基于Web的应用程序以允许 客户将自己的联系信息输入到数据库中。作为一个新的 员工,您被分配了一个简单的任务:创建前端界面并准备 要存储在数据库中的用户输入…

    有一个问题:

    如何在编写任何代码之前约束输入?

    我认为这可能是一个在头脑中设计的regex模式,但它不会真正约束输入,是吗?我的心理状态还不太好!

    或者可能是其他的方法?

    4 回复  |  直到 12 年前
        1
  •  8
  •   Matt Hamilton    16 年前

    它在谈论什么样的输入?

    文本框(至少在Windows窗体中)具有一组属性,可以约束输入而不编写任何代码。例如,maxlength将阻止用户输入超过某个长度的字符串。字符大小写将强制文本为大写或小写。

    类似地,maskedtextbox、datetimepicker或numericupdown等控件允许在不允许自由文本输入的情况下进行输入,因此用户可能被约束为某种类型(datetime或decimal)。

        2
  •  2
  •   IbrarMumtaz    16 年前

    在书的中间,你会发现一些叫做stringinputvalidator的属性……看下面……

    [ConfigurationProperty("lastUser", DefaultValue = "User", IsRequired = true)]
    [StringValidator(InvalidCharacters  = ""!@#$%^&")] // and etc
    public string LastUser
    {   // get and set accessor code logic in here. }
    

    这应该是非常明显的,这是限制将什么文本应用于字符串属性的一种方法。这是OFC的“代码”方式,但我不知道如果有这样一种应用属性的方式,如何通过vs uis来实现这一点。尽管如此,它还是部分地回答了你的问题。

        3
  •  1
  •   kyoryu    16 年前

    立即想到的两件事要么约束字符集,要么向数据库添加检查约束。

    这个问题很模糊,答案可能取决于需要在哪里进行验证,使用什么技术,坦率地说,“代码”的定义是什么。例如,创建嵌入约束的自定义类型是否符合“代码”的条件?如果是Web应用程序,HTML是否算数?客户端javascript?

        4
  •  0
  •   Maksym Gontar    16 年前

    我注意到书的结尾有答案:)

    答:可以使用单独的ASP.NET RegularExpressionValidator控件来限制 输入三个框中的每一个。对于公司名称验证程序,设置validationExpression 属性到_[A-ZA-Z' -´\s]{1,40}”. For the contact name validator, you can use the regular expression, “[a-zA-Z' -____ 1,30__最后,为了 电话号码验证程序,您可以使用ASP.NET内置正则表达式, _(((\d 3))?)((d { 3 }))?\ D 3-\D 4。

    不过,我认为这是不正确的,知识要求是

    要完成本章的课程,您应该熟悉Microsoft Visual 基本或C并熟悉以下任务:
    使用Visual Basic或C在Microsoft Visual Studio中创建控制台应用程序。
    向项目添加对系统类库的引用。
    创建文本文件。