Pergunta

Existe uma biblioteca lá fora que eu posso usar no meu atual aplicativo ASP.NET, a querystrings Validar?

Editar ~ Usando Regex para procurar padrões, como corda, somente, apenas numérico, string com comprimento x, etc ...

Graças

Foi útil?

Solução

Não sei quanto a uma biblioteca, mas você pode usar para verificar se existe a querystring:

if (!String.IsNullOrEmpty(Request.Querystring["foo"]))
{
   // check further
}
else
{
   // not there, do something else
}

Se você quiser usar reglar expressões para mais validar, você pode criar uma classe que aceita a string e retornar um boolean.

public static Boolean IsValid(String s)
{
    const String sRegEx = @"regex here";

    Regex oRegEx = new Regex(sRegEx , RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled);
    MatchCollection oMatches = oRegEx.Matches(s);

    return (oMatches.Count > 0) ? true : false;
}

Este é um bom programa gratuito para ajudar a construir as expressões regluar: Expresso

Outras dicas

A melhor abordagem para este tipo de coisa provavelmente seria usar expressões regulares para verificar qualquer condição que você está procurando.

Seria bom em um cenário real para separar a validação da apresentação, mas apenas por uma questão de um exemplo:

  if (!string.IsNullOrEmpty(Request.QueryString["Variable"]))
    {
        string s = Request.QueryString["Variable"];

        Regex regularExpression = new Regex("Put your regex here");

        if (regularExpression.IsMatch(s))
        {
            // Do what you want.
        }
    }

Você quer dizer para perguntar sobre quebrando a seqüência de consulta em suas partes? ASP.Net já faz isso para você. Você pode acessar os paramaters individuais através da coleção Request.QueryString.

Para a string de consulta:? Fruta = maçã & meias = branco

Request.QueryString [ "fruto"] vai dar-lhe "maçã", e Request.QueryString [ "meias"] vai dar-lhe "branco".

Se você está falando sobre como validar a string de consulta para os pedidos que eles chegam, o .NET Framework já faz isso. Página tem uma propriedade chamada ValidateRequest isso é verdade, por padrão, e inválido qualquer coisa na cadeia de consulta causará um erro (a primeira vez que a string de consulta é acessada em sua por trás de código) sem ter que fazer nada.

Se você está falando sobre como validar seqüências de consulta que você tem como dados ou alguma coisa, então este artigo MSDN Mag pode ajudá-lo.

EDIT: Eu vejo que você está pedindo mais sobre validação de dados. Você deve encontrar algumas coisas boas no artigo do MSDN I ligada acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top