private static Rule<View> getEmailRule(Field field, View view, Email email) { if (!TextView.class.isAssignableFrom(view.getClass())) { Log.w(TAG, String.format(WARN_TEXT, field.getName(), Regex.class.getSimpleName())); return null; } // int messageResId = email.messageResId(); // String message = messageResId != 0 ? view.getContext().getString(messageResId) : // email.message(); // return Rules.or(message, Rules.eq(null, Rules.EMPTY_STRING), Rules.regex(message, // Rules.REGEX_EMAIL, true)); int messageResId = email.messageResId(); String message = messageResId != 0 ? view.getContext().getString(messageResId) : email.message(); if (email.empty()) { return Rules.or( message, Rules.eq(null, Rules.EMPTY_STRING), Rules.regex(message, Rules.REGEX_EMAIL, true)); } List<Rule<?>> rules = new ArrayList<Rule<?>>(); rules.add(Rules.required(message, true)); rules.add(Rules.regex(message, Rules.REGEX_EMAIL, true)); Rule<?>[] ruleArray = new Rule<?>[rules.size()]; rules.toArray(ruleArray); return Rules.and(message, ruleArray); }
private static Rule<View> getIpAddressRule(Field field, View view, IpAddress ipAddress) { if (!TextView.class.isAssignableFrom(view.getClass())) { Log.w(TAG, String.format(WARN_TEXT, field.getName(), IpAddress.class.getSimpleName())); return null; } int messageResId = ipAddress.messageResId(); String message = messageResId != 0 ? view.getContext().getString(messageResId) : ipAddress.message(); return Rules.or( message, Rules.eq(null, Rules.EMPTY_STRING), Rules.regex(message, Rules.REGEX_IP_ADDRESS, true)); }