validate_project_name

Function validate_project_name 

Source
pub fn validate_project_name(name: &str) -> Result<String>
Expand description

Validate a project name for use in file paths

Project names must:

  1. Only contain alphanumeric characters, hyphens, and underscores
  2. Not start or end with a hyphen or underscore
  3. Be between 1 and 64 characters long
  4. Not contain any path separators or special characters
  5. Not be a reserved system name (Windows: CON, PRN, AUX, etc.)

§Arguments

  • name - The project name to validate

§Returns

Returns the validated name if validation succeeds, or an error if validation fails.

§Examples

use path_security::validate_project_name;

// Valid names
let name = validate_project_name("my-project")?;
let name = validate_project_name("project_123")?;

// Invalid names
assert!(validate_project_name("../etc").is_err());
assert!(validate_project_name("-invalid").is_err());
assert!(validate_project_name("CON").is_err()); // Windows reserved