我在Visual Studio 2010中使用了Sharepoint 2010 ..自定義字段。驗證自定義Sharepoint字段是否爲空?
我創建了一個自定義字段。這個特定的日期時間字段(「終止日期」)。如果它是空白並且另一個字段(「合同終止」等於是),我希望它驗證失敗。
所以我以前做過這個計算字段。而且,它的工作原理,但它將驗證錯誤放在編輯窗體的頂部,而不是在我希望它的「終止日期」字段旁邊。就像通常情況下,如果字段未在自定義字段中使用GetValidatedString進行驗證。
所以,因爲它在錯誤的地方,我做了一個自定義字段。但是因爲日期是空白的,所以它從不碰到GetValidatedString方法。我錯過了什麼嗎?如果「終止日期」欄位爲空白,是否有另一種方法可使驗證失敗並在「終止日期」字段旁邊?
我嘗試使用事件接收器解決方案..也有問題,它也會把錯誤消息放在頂部..不是在終止日期字段旁邊。
對此提出建議?
確定..我會查找如何做到這一點。我添加了以下.. 1,對System.Web 2的引用,使用Microsoft.SharePoint.WebControls; 3,覆蓋:public override BaseFieldControl FieldRenderingControl {get {return base.FieldRenderingControl; }} ...但我仍然會看起來寫我自己的字段控制..我希望你的建議是寫,它會讓我把valdate一個emtpy日期字段... –
公共覆蓋BaseFieldControl FieldRenderingControl { get { BaseFieldControl control = null; control = new YourDateTimeField();/*繼承自DateTimeField */ control.FieldName = base.InternalName; 返回控制; } } – MishaU
看起來像你說的把它放在自定義字段類中.. mine是TerminationDateValidation.cs ..它繼承自SPFieldDateTime ..(類TerminationDateValidation:SPFieldDateTime)...但是當我使用這一行時:control =新的YourDateTimeField();我得到錯誤,它不需要0參數..它需要字段,字段名..如果我使用這些確切的參數..像(ieldControl = new TerminationDateValidation(fields,fname);)..然後它說這些參數不' t存在於當前上下文中。 –