Cómo validar dinámicamente los valores de campo en una aplicación de iOS

Primero, para ser claros, a diferencia de una aplicación web, la validación no tiene que suceder dos veces (lado del cliente, luego del lado del servidor). Puede codificar (y sí, siempre hay excepciones) con la expectativa de que un usuario solo podrá ingresar lo que los controles le dan.

Entonces, para responder a su pregunta, valide los campos utilizando métodos delegados proporcionados por el control. Tome UITextField, puede notificarle sobre cambios en tiempo real a través de sus métodos delegados (o notificaciones).

Tome este fragmento, que solo permite que una entrada numérica de estilo de banco se complete desde la derecha y también tiene un límite de caracteres predeterminado de 40 caracteres para cualquier otro campo de texto que use la clase como delegado:

deje AMOUNT_MAX = 10_000_000
dejar DEFAULT_CHARACTER_LIMIT = 40
cantidad var = 0.0
func textField (_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replaceString string: String) -> Bool {
let count = textField.text? .characters.count ?? 0 0
let char = string.cString (usando: .utf8)
let isBackspace = strcmp (char, “\\ b”) == -92
switch (textField) {
cantidad del casoTextField:
si se deja convertidoString = Doble (cadena) {
cantidad * = 10
cantidad + = convertString / 100
} más {
if (isBackspace) {
cantidad / = 10
cantidad = piso (cantidad * 100) / 100
}
}
if (cantidad <AMOUNT_MAX) {
let formatter = NumberFormatter ()
formatter.numberStyle = .currency
formatter.maximumFractionDigits = 2
formatter.locale = Locale (identificador: Locale.current.identifier)
textField.text = formatter.string (de: cantidad como NSNumber)
}
falso retorno
defecto:
if (isBackspace) {
volver verdadero
} más {
return (cuenta <= DEFAULT_CHARACTER_LIMIT)
}
}
}

Si desea implementar una forma más segregada y estándar, teniendo en cuenta que tiene muchos campos de texto para rellenar formularios, eche un vistazo a la siguiente biblioteca. Es bueno.

SwiftValidatorCommunity / SwiftValidator

More Interesting

¿Cómo hacen los desarrolladores de aplicaciones para crear una aplicación que se vea exactamente igual en la plataforma iOS y Android?

IOS: Si simplemente quiero probar mi aplicación a través de Apple Test Flight, ¿significa que alguien puede descargar mi aplicación y jugar con ella?

¿Cuáles son los pros y los contras de construir con Adobe Flex, en comparación con el desarrollo nativo de iOS o Android?

Soy un joven desarrollador de iOS independiente o con contrato que está lanzando puestos a tiempo completo, ¿qué debo tener en cuenta?

¿Cuándo permite iOS que una aplicación se ejecute en segundo plano?

Cómo usar un UIView como contenedor

¿Cómo puede 'iniciar sesión en Facebook' ayudar a mi aplicación?

Cómo restaurar un archivo en un dispositivo iOS

Recientemente comencé a enseñarme el desarrollo de aplicaciones iOS usando Swift y estoy buscando un mentor que me ayude a progresar. ¿Dónde puedo encontrar uno?

¿Tiene sentido poner el código de mi aplicación iOS en GitHub?

No tengo conocimientos de codificación y quiero aprender a escribir aplicaciones para iOS y OS X. ¿Puedo desarrollar aplicaciones para iOS / OS X solo con Swift o tendré que saber otros idiomas?

¿Dónde puedo encontrar entrenadores de desarrollo de aplicaciones iOS en Bangalore?

He sido desarrollador de iOS durante 3 años y no estoy seguro de mis referencias, ¿qué debo hacer en el futuro?

¿Hay algún IDE en la nube que permita el desarrollo de aplicaciones iOS?

¿Por qué la comunidad iOS es más abierta que la comunidad Android?