我正在嘗試通過本教程 tutorial。本教程似乎做了我一直在尋找的所有內容,但我無法理解它。somone能幫助我更好地理解本教程嗎?
也許是因爲我不太瞭解Xval,jquery.validate。
1st 他似乎在使用類型化視圖:RemoteValidation.Models.User。如果我想傳遞一些其他數據會發生什麼,我怎麼會得到這個?我是否必須創建另一個班級用戶模型和我想要的其他內容?
第二
我通過文章混淆了很多,因爲這是suppost要像客戶端和服務器端的validtion但他隨後補充道線,如
「//添加可選的正則表達式驗證,以儘量減少Ajax請求」
所以對我來說這rasies我的問題還以爲他們已經在這個地方:
[RegularExpression(EmailRegEx, ErrorMessage = "Invalid e-mail address.")]」
然後他有這個
「例如,所有你需要實現服務器和密碼強度遠程客戶端驗證是這樣的:」
public class IsSafePasswordAttribute : RemotePropertyValidator
{
public IsSafePasswordAttribute()
{
//perform some simple password strength check with a regular expression
//on the client side first
ClientSideRegEx = 「.{8,20}」;
}
protected override bool PropertyValid(object value)
{
//Insert more elaborate server-side/remote client side password checking
// logic and return result here…
}
所以後來如果你讀的評論好像構造函數是爲客戶端和這個PropertyValid是爲服務器端?
這是正確的嗎?如果我只是想爲客戶端和服務器端都做同樣的事情會發生什麼?
但他有這個
protected override bool PropertyValid(object value)
{
return (string)value != 「[email protected]」;
}
此代碼獲取運行一樣,如果它只是在客戶端。
我不明白
ClientSideRegEx = 「.{8,20}」;
首先這個現在確實告訴我,這是隻對客戶方這樣就意味着我將不得不編寫服務器端相同的代碼?我認爲這是不是兩次寫同一代碼的全部目的?
另外,他們沒有這些「[]」之一像他們有需要的範圍?我會認爲這將是一個非常基本的一個,所以你需要做什麼你自己的?
我也不明白他是怎麼知道它是如何輸入的。就像我可以看到的文檔一樣。我知道這是一個正則表達式,但我想知道其他驗證和東西。
[文件的演示]
那麼總體來說,我不知道什麼我應該改變什麼,我可以獨自離開。 就像我開始一個新項目並開始做我的驗證一樣,我是否包含這些文件?
DataAnnotationsModelBinder.cs ExtensionMethods.cs RemoteValidators。cs
當然還有xval文件。 我需要更改任何這些.cs文件嗎?或者我可以按原樣使用它們嗎? 像我剛剛開始繼承「RemotePropertyValidator」,並開始輸入或我必須做一些其他更改?
然後在一個側面說明他們還生產XVAL我一直在尋找的網站和它的只有0.8的(只有測試版還),現在並沒有在一兩個月了更新。我發佈了這個問題,「如果他們仍在開發中」,而且還沒有迴應。
這給了我一種不安的感覺。
感謝
P.S我願意用其他的東西,然後xval的,如果它可以做同樣的事情(容易)。只要它掛上了jquery和asp.net mvc。
謝謝。 雅我再次重新閱讀文章,我的問題已經回答了這個傢伙。現在我已經通過調試器一行一行地瞭解了它,但我更瞭解它。 – chobo2 2009-07-12 14:11:06