PeopleEditor允许客户端输入的同时验证输入的内容
如何判断PeopleEditor的值为空
在sharepoint开发中,我们经常会用到PeopleEditor这一控件,最近我在写程序的时候用到了,开始的时候不知道怎么用,后来问题解决啦,现在写出来,和大家共享一下,希望对sharepoint初学者有帮助
<SharePoint:PeopleEditor ID="peOwner" runat="server" Rows="1" ValidatorEnabled="True" MultiSelect="False"
Width="160px" AllowEmpty="true"/>
其中,AllowEmpty:指PeopleEditor能否为空,true:表示允许为空,false:表示不允许为空 默认为true
如果允许为空,当点击提交按钮,向列表中添加数据的时候,要先判断该PeopleEditor是否为空,如果为空的话,就不向列表中添加该数据,如果不为空的话则向列表中添加数据,那么如何判断PeopleEditor为空呢
string strID = "";
foreach (PickerEntity p in this.peOwner.ResolvedEntities)
{
strID += p.EntityData["SPUserID"].ToString() + ";#;#";s
}
判断strID是否为空,如果strID为空则说明PeopleEditor没有填写任何值,如果不为空,则说明PeopleEditor有值
概述:我们在开发sharepoint应用的时候,会觉得他的人员选择控件peopleeditor是一个不错的控件,就想要直接的使用它在我们的usercontrol中,但是他本身是不提供验证输入内容的,除非你手动点击控件右下角的【检查名称】图标。有两个办法可以解决,一个就是关闭控件的输入功能
我们在开发sharepoint应用的时候,会觉得他的人员选择控件peopleeditor是一个不错的控件,就想要直接的使用它在我们的usercontrol中,但是他本身是不提供验证输入内容的,除非你手动点击控件右下角的【检查名称】图标。有两个办法可以解决,一个就是关闭控件的输入功能
allowtypein="false"
,只让用户通过选择人员来添加人员,但是这样有的用户觉得不能输入太麻烦了;那就打开输入功能
allowtypein="true",这时候就需要在输入完毕之后点击【检查名称】,然后才能【确定】按钮,提交数据,要不然,提交的没有验证,没有反应,没有提示。看起来很不爽啊!!!!!
通过查看页面的源代码,发现在他的【检查名称】图标的a标记的onclick里面有一段javascript代码,是用来实现客户端验证输入的人员是否存在于系统,我就想我们是否可以在【确定】按钮的客户端验证也添加这段脚本,或者让他帮助点击一下那个【检查名称】图标链接呢?这里使用的就是直接在客户端调用那个a标记的onclick方法
<script type="text/javascript">
function clientvalidate() {
var client = document.getElementById("<%=peSelectPeople.ClientID %>" + "_checkNames");
client.click();
var error = document.getElementById("<%=peSelectPeople.ClientID %>" + "_errorLabel");
if (error.innerHTML == "" || error.innerHTML==("必须为此必填字段指定值。"))
return false;
else
return true;
}
</script>
上面是一段JavaScript代码,是一个函数,里面调用了【检查名称】checkNames标记的脚本代码,然后判断errorLabel控件是否提示错误信息。如果提示错误,则返回false;否则返回true。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AddPeopleToDepartment.ascx.cs"
Inherits="Kimbanx.UCS.SystemMaintenance.AddPeopleToDepartment" %>
<%@ Register Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
Namespace="Microsoft.SharePoint.WebControls" TagPrefix="cc1" %>
<script type="text/javascript">
function clientvalidate() {
var client = document.getElementById("<%=peSelectPeople.ClientID %>" + "_checkNames");
client.click();
var error = document.getElementById("<%=peSelectPeople.ClientID %>" + "_errorLabel");
if (error.innerHTML == "" || error.innerHTML==("必须为此必填字段指定值。"))
return false;
else
return true;
}
</script>
<table width="90%">
<tr>
<td class="ms-formlabel">
所在部门
</td>
<td class="ms-formlabel">
<asp:Label runat="server" ID="lblDepartment" Text=""></asp:Label>
</td>
</tr>
<tr>
<td class="ms-formlabel" valign="top">
选择人员
</td>
<td class="ms-formbody">
<cc1:peopleeditor id="peSelectPeople" runat="server" allowempty="False" allowtypein="true"
validatorenabled="True" />
<asp:RequiredFieldValidator ID="RequiredFieldValidatorPe" runat="server" ErrorMessage="不能为空"
ControlToValidate="peSelectPeople" Display="Dynamic"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="ms-formlabel">
职务
</td>
<td class="ms-formbody">
<asp:TextBox runat="server" ID="txtPosition"></asp:TextBox>
</td>
</tr>
<tr>
<td class="ms-formlabel">
优先级
</td>
<td class="ms-formbody">
<asp:TextBox runat="server" ID="txtPriority"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidatorPriority" runat="server"
ErrorMessage="只能是大于等于0的数字" ControlToValidate="txtPriority" ValidationExpression="^[1-9]\d*|0$"
Display="Dynamic"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<asp:Button ID="btnAdd" Text="添加" runat="server" CssClass="ms-ButtonHeightWidth"
OnClientClick="return clientvalidate();" OnClick="btnAdd_Click" />   
<asp:Button ID="btnCancel" Text="取消" runat="server" CssClass="ms-ButtonHeightWidth"
OnClick="btnCancel_Click" CausesValidation="False" />
</td>
<%--<td></td>--%>
</tr>
</table>
PeopleEditor允许客户端输入的同时验证输入的内容的更多相关文章
- js验证输入的金钱格式
<html> <head> <title>js验证输入的金钱格式</title> <script type="text/javascri ...
- jQuery validation学习(1)验证只输入空格通过验证
当input输入了空格是不会提示信息的 一般会去除空格然后进行验证 这个时候就要添加onkeyup事件去除左侧的空格 验证只输入空格通过验证 //添加验证手机方法 jQuery.validator.a ...
- html input验证只能输入数字,不能输入其他
html input验证只能输入数字,不能输入其他 此方法为借鉴别人的,在此只做记录. <input type="text" onkeyup="if(!/^\d+$ ...
- 常用输入的js验证
身份证 var idnub = document.getElementById('idnub').value; if(idnub.length > 1){ var reg = /(^\d{15} ...
- js 捕捉回车键触发登录,并验证输入内容
js 捕捉回车键触发登录,并验证输入内容 有时候我们会遇到 web 页面中捕捉按键,触发一些效果, 比如常见的回车键触发登录,并验证输入内容,下面会介绍,截图: 一.最简单的捕捉回车键:判断按下的是不 ...
- JavaScript:验证输入
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- WPF TextBox 验证输入
//验证输入为数字private void txt_time_KeyDown(object sender, KeyEventArgs e){ if (!((e.Key >= Key.D0 &am ...
- javascript不用正则验证输入的字符串是否为空(包含空格)
在项目中需要验证输入的字符串是否为空,包括空格,不太喜欢使用正则,所以就想到了js的indexOf函数,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没 ...
- Blazor和Vue对比学习(基础1.9):表单输入绑定和验证,VeeValidate和EditFrom
这是基础部分的最后一章,内容比较简单,算是为基础部分来个HappyEnding.我们分三个部分来学习: 表单输入绑定 Vue的表单验证:VeeValidate Blazor的表单验证:EditForm ...
随机推荐
- 【POJ 1035】Spell checker
题 题意 每个单词,如果字典里存在,输出”该单词 is correct“:如果字典里不存在,但是可以通过删除.添加.替换一个字母得到字典里存在的单词,那就输出“该单词:修正的单词”,并按字典里的顺序输 ...
- mysql中的if判断
问题是这样的,有一张表(tb_class)专门保存班级的ID和班级的名字 另一张表是学生信息表(tb_stu),表中有一个字段叫classID,没有外键关联,现在要把 这张表刷新到另一个表tb_par ...
- POJ1941 The Sierpinski Fractal
Description Consider a regular triangular area, divide it into four equal triangles of half height a ...
- Linux Cache Mechanism Summary(undone)
目录 . 缓存机制简介 . 内核缓存机制 . 内存缓存机制 . 文件缓存机制 . 数据库缓存机制 1. 缓存机制简介 0x1: 什么是缓存cache 在计算机整个领域中,缓存(cache)这个词是一个 ...
- linux c学习笔记----进程创建(fork,wait,waitpid)
1.pid_t fork(); (1)当一个进程调用了fork 以后,系统会创建一个子进程.这个子进程和父进程不同的地方只有他的进程ID 和父进程ID,其他的都是一样.就象符进程克隆(clone)自己 ...
- MyEclipse------缓冲流的使用
可以把BufferedReader和BufferedWriter称为上层流,把它们指向的字符流(Reader,Writer)称为底层流. Java采用缓存技术将上层流和底层流连接. 底层字符输入流先将 ...
- 教你看懂网上流传的60行JavaScript代码俄罗斯方块游戏
早就听说网上有人仅仅用60行JavaScript代码写出了一个俄罗斯方块游戏,最近看了看,今天在这篇文章里面我把我做的分析整理一下(主要是以注释的形式). 我用C写一个功能基本齐全的俄罗斯方块的话,大 ...
- 锋利的jQuery-4--图片切换的一个例子(自己理解后写的,以备忘记时看看)
一个动画切换的效果,如图: 分析步骤: 1.点击左右的箭头图片滚动,左边的小点变化. 2.主要问题是当滚到最后一屏时切换回第一屏,第一屏在向前滚动是切换到最后一屏 :通过判断图片的总数然后除以每屏显示 ...
- 应用PHPCMS V9轻松完成WAP手机网站搭建全教程
用PHPCMS最新发布的V9搭建了PHPCMS研究中心网站(http://phpcms.org.cn)完成后,有用户提出手机访问的问题,于是着手搭建WAP无线站(wap.phpcms.org.cn). ...
- 连接oracle读取数据
没怎么用过oracle,而且是在地税内网内部估计是防火墙的原因虚拟机里也连不上oracle,刚开始费了很多周折查找问题,现在又放弃使用直连数据库了,记下来以备后用吧 public class Load ...