Eu tenho um formulário no qual eu uso o ckeditor. Este formulário funcionou bem no Asp.Net 2.0 e 3.5, mas agora não funciona no Asp.Net 4+. Eu tenho a diretiva ValidateRequest = "false". Alguma sugestão?
asp.net
asp.net-4.0
validate-request
HasanG
fonte
fonte
Respostas:
Solução encontrada na página de erro. Só é necessário adicionar requestValidationMode = "2.0"
Informações do MSDN: Propriedade HttpRuntimeSection.RequestValidationMode
fonte
Existe uma maneira de voltar a validação para 2.0 para uma página. Basta adicionar o código abaixo ao seu web.config:
fonte
Sei que essa é uma pergunta antiga, mas se você encontrar esse problema no MVC 3, poderá decorar o seu
ActionMethod
com[ValidateInput(false)]
e simplesmente desativar a validação de solicitação para um únicoActionMethod
, o que é útil. E você não precisa fazer alterações noweb.config
arquivo, para poder usar a validação de solicitação do .NET 4 em qualquer outro lugar.por exemplo
fonte
Isso funciona sem alterar o modo de validação.
Você tem que usar um
System.Web.Helpers.Validation.Unvalidated
ajudante deSystem.Web.WebPages.dll
. Ele retornará umUnvalidatedRequestValues
objeto que permite acessar o formulário e QueryString sem validação.Por exemplo,
Funciona para mim no MVC3 e no .NET 4.
fonte
Observe que outra abordagem é manter o comportamento de validação 4.0, mas definir sua própria classe que deriva
RequestValidator
e define:(onde
YourNamespace.YourValidator
está bem, você deve ser capaz de adivinhar ...)Dessa forma, você mantém as vantagens do comportamento do 4.0s (especificamente, que a validação ocorre no início do processamento), além de permitir as solicitações que você precisa deixar passar.
fonte