C#基于IInputValidation接口实现大写字母输入验证方案咨询
大写字母输入验证的实现方案
完全可以通过继承IInputValidation接口的方式实现大写字母输入验证,以下是具体的实现代码:
public class CapitalLetterValidator : IInputValidation { public bool IsValid(string input) { // 先处理空值或空字符串的情况 if (string.IsNullOrEmpty(input)) { return false; } // 遍历输入的每个字符,检查是否都是大写字母 foreach (char c in input) { if (!char.IsUpper(c)) { return false; } } return true; } }
实现说明
- 完全遵循了你现有接口的设计规范,保持了验证逻辑的一致性,方便和其他验证器(比如
TextValidator)统一调用 - 空值/空字符串的处理逻辑和
TextValidator对齐,避免验证规则出现不一致 - 通过
char.IsUpper逐个检查字符,确保输入的每一位都是大写英文字母,只要有一个不符合就直接返回false
如果需要更灵活的规则(比如允许输入包含非字母字符,但所有字母必须是大写),可以调整判断逻辑:
public class CapitalLetterValidator : IInputValidation { public bool IsValid(string input) { if (string.IsNullOrEmpty(input)) { return false; } foreach (char c in input) { // 仅对字母字符做大写校验,非字母字符不限制 if (char.IsLetter(c) && !char.IsUpper(c)) { return false; } } return true; } }
内容的提问来源于stack exchange,提问作者Jocelyn
相关产品推荐
相关产品推荐

