<?php

namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

use App\Models\Address;

class TwoByteInteger implements Rule
{
	/**
	 * Determine if the validation rule passes.
	 * This will check that a number used for zone, net, host is between 1 and Address::ADDRESS_FIELD_MAX.
	 *
	 * @param string $attribute
	 * @param mixed $value
	 * @return bool
	 */
	public function passes($attribute,$value)
	{
		return (is_numeric($value) && ($value > 0) && ($value < Address::ADDRESS_FIELD_MAX));
	}

	/**
	 * Get the validation error message.
	 *
	 * @return string
	 */
	public function message()
	{
		return sprintf('The number must be between 1 and %d.',Address::ADDRESS_FIELD_MAX);
	}
}