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。

实现

IValidator.IsValid

备注

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

另请参阅

引用

BaseFieldControl 类

BaseFieldControl 成员

Microsoft.SharePoint.WebControls 命名空间

RenderValidationMessage

Validate

ErrorMessage