Saya memiliki formulir di mana saya menggunakan ckeditor. Formulir ini berfungsi dengan baik di Asp.Net 2.0 dan 3.5 tetapi sekarang tidak berfungsi di Asp.Net 4+. Saya memiliki arahan ValidateRequest = "false". Ada saran?
asp.net
asp.net-4.0
validate-request
HasanG
sumber
sumber
Jawaban:
Ditemukan solusi di halaman kesalahan. Hanya perlu menambahkan requestValidationMode = "2.0"
Informasi MSDN: HttpRuntimeSection.RequestValidationMode Property
sumber
Ada cara untuk mengembalikan validasi ke 2.0 untuk satu halaman. Cukup tambahkan kode di bawah ini ke web.config Anda:
sumber
Saya tahu ini adalah pertanyaan lama, tetapi jika Anda menemukan masalah ini di MVC 3 maka Anda dapat menghiasnya
ActionMethod
dengan[ValidateInput(false)]
dan matikan saja validasi permintaan untuk satuActionMethod
, yang berguna. Dan Anda tidak perlu membuat perubahan apa pun padaweb.config
file tersebut, sehingga Anda masih dapat menggunakan validasi .NET 4 request di tempat lain.misalnya
sumber
Ini berfungsi tanpa mengubah mode validasi.
Anda harus menggunakan
System.Web.Helpers.Validation.Unvalidated
pembantu dariSystem.Web.WebPages.dll
. Ini akan mengembalikanUnvalidatedRequestValues
objek yang memungkinkan untuk mengakses formulir dan QueryString tanpa validasi.Sebagai contoh,
Bekerja untuk saya untuk MVC3 dan .NET 4.
sumber
Perhatikan bahwa pendekatan lain adalah untuk tetap dengan perilaku validasi 4.0, tetapi untuk menentukan kelas Anda sendiri yang berasal dari
RequestValidator
dan mengatur:(Di mana
YourNamespace.YourValidator
yang baik, Anda harus bisa menebak ...)Dengan cara ini Anda menjaga keunggulan perilaku 4.0s (khususnya, bahwa validasi terjadi lebih awal dalam pemrosesan), sementara juga memungkinkan permintaan yang harus Anda biarkan masuk, melaluinya.
sumber