Bu tasarım gereğidir ve birçok kişiyi atma eğilimindedir. RegularExpressionValidator bir alanı zorunlu hale getirmez ve boş bırakılmasını ve beyaz boşlukları kabul etmesini sağlar. \ D + biçimi doğru.^\ D + $ kullanarak bile, boşluklara izin veren aynı sorunla sonuçlanır. Bunu, boşluklara izin vermemek için zorlamanın tek yolu aynı kontrolde çalışmak için bir RequiredFieldValidator içermesidir. giriş kontrol boşsa
Doğrulama başarılı:
Bu
bildiren
RegularExpressionValidator documentation, her biri içindir. İlgili giriş denetimi için değeri gerekiyorsa, RegularExpressionValidator denetimine ek olarak bir RequiredFieldValidator denetimini kullanın.
Kod arkasındaki alanın düzenli bir şekilde ifade edilmesi beklendiği gibi çalışır; Bu sadece RegularExpressionValidator ile ilgili bir sorundur. Bu yüzden bir CustomValidator kullanmak ve args.IsValid = Regex.IsMatch(txtInput.Text, @"^\d+$")
diyeceksiniz ve eğer boşluk içeriyorsa, yanlış döndürecektir. Ancak bu durumda, sadece RequiredFieldValidator'u dokümantasyona göre kullanmak ve özel kod yazmamaktan kaçının mı? Ayrıca bir CustomValidator zorunlu bir geri gönderme anlamına gelir (eşdeğer javascript regex ile bir istemci doğrulama komut dosyası belirtmediğiniz sürece).
Tüm boşluklar boş olarak değerlendiriliyor mu? Sunucuda trim gibi görünüyor cevabı. –
Evet, boş bırakmak veya boşluk eklemek aynı şeydir. Bir karakter girildikten sonra doğrulayıcı tetiklenir, böylece "10" girilmesi geçerli olur. Onu her ne yaparsa geçerli bir sayı veya boşluk olacağını bildiğiniz gibi tutabilirsiniz. Her iki durumda da değerinizi kırpın. –
, teşekkürler Ahmad. Ihtiyar MSDN belgeleri "tüm boşluk boş" diyecekti! –