将服务器端的自定义验证器替换为客户端
Replace custom validator in server side with client side
我有一个服务器端定制器。因为它没有触发,所以我想使用客户端来验证文本框。它包括活动目录的东西。我不确定我们可以将代码转换为客户端吗?
<td class="style4">
<asp:TextBox ID="TextUserName" runat="server"></asp:TextBox>
</td><td><asp:CustomValidator ID="CustomValidatorUser" runat="server" ControlToValidate="TextUserName"
ErrorMessage="Minimum of 6 (six) alphanumeric characters."
OnServerValidate="ValidateUser" Display="Dynamic"
ValidateEmptyText="True" ></asp:CustomValidator></td>
和
protected void ValidateUser(object source, ServerValidateEventArgs args)
{
string UserNameCreated = TextUserName.Text;
string AD_Server = System.Configuration.ConfigurationManager.AppSettings["AD_Server"];
DirectoryEntry entry = new DirectoryEntry(AD_Server);
entry.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher deSearch = new DirectorySearcher(entry);
deSearch.Filter = "(&(objectClass=user)(samaccountname=" + UserNameCreated + "))";
SearchResultCollection results = deSearch.FindAll();
Match match = Regex.Match(args.Value, @"^[a-zA-Z0-9]{6,}$",
RegexOptions.IgnoreCase);
if (results.Count > 0)
args.IsValid = false;
else if (match.Success)
args.IsValid = true;
// true means that it is validated.
else
args.IsValid = false;
}
我的想法:
拳头:
<td class="style4">
<asp:TextBox ID="TextUserName" runat="server"></asp:TextBox>
</td><td><asp:CustomValidator ID="CustomValidatorUser" runat="server" ControlToValidate="TextUserName"
ErrorMessage="Minimum of 6 (six) alphanumeric characters."
ClientValidatationFunction="ValidateUser" Display="Dynamic"
ValidateEmptyText="True" ></asp:CustomValidator></td>
第二
<script language="javascript">
function ValidateUser(source, arguments)
{
var RegularExpression = /^[a-zA-Z0-9]{6,}$/;
if (arguments.Value.test(RegularExpression) == 0 ){
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
那么AD呢?也许这是一个错误的问题!!
谢谢。
我不知道
您打算如何使用此代码,如果它与任何方面的身份验证有关,您应该在服务器端执行所有验证,因为客户端代码很容易被破解。
话虽如此,如果安全性不是问题,您可以在服务器上使用Web方法来获取结果计数。您可以通过 ajax 调用调用此 Web 方法。
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 返回/从Twit's客户端.get
- 将客户端特定的日期格式返回到服务器MVC4
- MobileFirst:在客户端运行计时器作业-最佳选项
- 将服务器端的自定义验证器替换为客户端
- 字符串替换混合文本和HTML(客户端或服务器端)
- 在网页上-如何显示(轻)图像,并在客户端下载(重)图像时将其替换为(重)
- 如何替换<和和gt;来自客户端的XML响应
- 用新链接替换站点上的大量旧链接?(客户端)
- Rails 5 Redux React Server 端渲染给出客户端 JavaScript 警告“用新的 ..” 替换
- 客户端的JavaScript代码替换
- 如何从客户端浏览器中删除/替换缓存的css和js文件