BaseFieldControl.IsValid 属性
获取或设置一个值,该值指示是否有效Value属性的当前值。
命名空间: Microsoft.SharePoint.WebControls
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Property IsValid As Boolean
Get
Set
用法
Dim instance As BaseFieldControl
Dim value As Boolean
value = instance.IsValid
instance.IsValid = value
public bool IsValid { get; set; }
属性值
类型:System.Boolean
true Value 是否有效 ;否则为false。默认值为true。
实现
备注
Value具有BaseFieldControl作为其FieldRenderingControl属性的SPField()对象是在 UI 中,不是基础值 (即ItemFieldValue) 控件的值。仅当您需要验证的用户界面值时,请使用IsValid 。若要验证ItemFieldValue,请使用GetValidatedString()。
示例
下面是设置IsValidValidate方法的重写的示例。首先检查以查看当前控制模式是否显示,这种情况下它并不重要是否域无效,因为它仍然不能更改。此方法还查看如果已经已知Value属性可通过检查IsValid属性无效。如果任一这些检查,则返回 true,则没有任何影响。如果既不为 true,该方法将调用基Validate会将IsValid设置为false ,如果找到Value属性有什么问题,并设置相应的ErrorMessage。( BaseFieldControl.Validate方法没有任何影响,因此如果直接从BaseFieldControl,然后对基Validate方法的调用派生其Validate方法将被覆盖的类可省略。)最后,该方法检查Required的值,并强制该值。
public override void Validate()
{
if (ControlMode == SPControlMode.Display || !IsValid)
{
return;
}
base.Validate();
if (Field.Required &&
(Value == null || Value.ToString().Length == 0))
{
this.ErrorMessage = Field.Title + " must have a value."
IsValid = false;
return;
}
}
Public Overrides Sub Validate()
If ControlMode = SPControlMode.Display OrElse (Not IsValid) Then
Return
End If
MyBase.Validate()
If Field.Required AndAlso (Value Is Nothing OrElse Value.ToString().Length = 0) Then
Me.ErrorMessage = Field.Title & " must have a value."
IsValid = False
Return
End If
End Sub